I ran the London Marathon in 2000 and pledged to raise £1700 for a charity that i'd never heard of. It was my 3rd application and I had never been accepted on ballot (despite the promise taht you would always get throught the second time). The charity was Ugandan Society for Sick Children. I'm lazy, and while I raised a little money, I had to pay well over a £1000 from my own pocket.
I haven't done the London Marathon since - partly because it left a bad impression, and partly because I think teh whole things way too commercial now.
I run for fun, and I don't do any running for charity anymore. You must have noticed that as soon as someone start srunning, when they take part in their first race there seems to be a pathological need to be sponsored by everyone they've ever met! Drives me crazy!
Smaller organisers with whom I run regualrly, like Trionium and Raw Energy, generally donate a proportion of entry fees to smaller local charities. I'm much more comfortable with this.
Unfortunately it's a sign of the times - charity money is harder to come by so all big charities employ quite unfair and in some cases dishonest practices.
Rant over - in essence, I agree with the opening question, but sadly some people don't care enough to vote with their feet.