Is there any legal limit on the percentage a telemarketing firm can take from the contributions it solicits for a 501(c)(3) charity?
No. The U.S. Supreme Court has ruled several times that charitable solicitation is a form of free speech entitled to constitutional protection and that it is unconstitutional to establish arbitrary limits on the fundraising costs that may be incurred. That makes a certain amount of sense because it is obviously easier to raise funds for some causes than for others.
In its most recent decision on the issue, the Supreme Court reaffirmed the general rule in a case in which the charity received only 15% of the funds raised, but the Court allowed the Attorney General of Illinois to prosecute the solicitor for fraud for allegedly intentional misrepresentations. (Nonprofit Issues®, March, 2003.)
Professional solicitors are required to register their contracts and report on the results of their campaigns in many states (although many fail to do so). According to the reports of 847 campaigns on behalf of 534 charities listed on the 2013 report of the Pennsylvania Bureau of Charitable Organizations, the charities received overall only about 38.3% of the total contributions made, but many of the organizations received only 10-25% and some actually suffered a net loss. Not a whole lot of people read these reports and they represent specific campaigns rather than overall fundraising results, but a charity may want to think twice about entering into a contract in which the solicitor gets 75 or 80% of the gross.
The Association of Fundraising Professionals takes the position that it is unethical to be paid a percentage-based commission for fundraising, but it is not illegal.