I'm afraid for London Marathon, London Triathlon et al charities have to pay huge moolah to get their entries so inevitably someones sponsorship money goes to pay for them.
A friend of mine who was working for a small local charity applied for London Triathlon places, she was shocked to be told that she had to purchase them in bulk (batches of 10 or something - apologies I can't remember exact details) for quite a sum of money (£100's not £10's). That was two years ago.
As an event organiser I can understand that there is a cost involved and in the tri world that cost can be quite extensive hence the higher prices.
Mind you - I still can't understand why the VLM charges such a high price for their charity places but that's a discussion for another day...