It's not the best solution, but it's better then the alternative.
One core problem is that the government has too much power and too many fingers in too many pies. As long as it's possible to spend x dollars to influence congress and receive y>>x dollars in benefit (through budget spending or favorable regulation) then that sort of thing will always happen, regardless of whether those x dollars are funneled through campaign finance or through other sorts of "influence".
The other core problem is the electoral climate. The evolution of the news media and its influence on the voting public has left us with a campaign system that filters out a lot of the best candidates and leaves us with the sort of dreck we're used to seeing fill up congress. Running for office is a nightmare these days, so most sane people avoid it. But that leaves only a few of the most dedicated public servants (who are all too rare) and a much greater proportion of folks seeking office for all the wrong reasons (vanity, kickbacks, power, etc.)
If we implemented term limits and stringent campaign finance limits tomorrow we'd still be left with the same shitty crop of corrupt and/or glory seeking politicians we have today, it would just be a more frequently turning over crop.
Here's a few examples:
http://www.spiegel.de/international/europe/0,1518,791113,00....
http://www.reuters.com/article/2010/02/17/us-italy-corruptio...
http://www.bbc.co.uk/news/world-europe-16194089
The "corruption perception index" is one measure of corruption, and shows the US as being in the middle of the pack in terms of corruption relative to the G8 overall: http://en.wikipedia.org/wiki/Corruption_Perceptions_Index