I think it depends on a few things. One is the charity: if it's say for the school PTA, or a local children's hospice, then I can see the point. With other charities things get more problematic. Look at the furore over the Samaritan's Purse, for example - and if it was an anti-abortion charity, or an Israeli support one (DH is Jewish and would be vehemently opposed to that; he's not a supporter of Zionism on a range of fronts) as examples, I'm afraid I would point blank refuse to donate. I'm also very sceptical of micro-finance initiatives, for example, which sound great but have some very serious issues alleged against them.
I can also see the point if the kids are very small - at 4 and 5 the toys are really overwhelming if the party is a big one, and I don't think small kids process that volume of new stuff well at all. My son had 46 presents at his last b'day, because we had a whole class party, plus friends from playgroup plus family. It was bloody insane, and we actually held some back for his Xmas stocking because there was no way he could process that volume. I'd have loved to ask people to just bung some cash towards the venue, actually, which is a charity in itself for disabled kids. Brilliant indoor and outdoor play areas with a range of activities, masses of space, and great kitchen facilities too - so fab, lots of parents of able bodied and NT kids hire it at weekends for parties. It's a really, really great community resource, and relies a lot on donations and fundraising, and nobody could object to it as a charity, I don't think. But it never crossed my mind. At that age, too, parents choose the presents, it's a big hassle, and you have to either buy something your kid already has, or they want it for themselves. So no harm, no foul in suggesting an alternative (though I would still have phrased it as a welcome option, rather than flat out request).
If they're older, I don't actually think it's fair on their friends. It's fun, selecting gifts your friend might like, and it encourages generosity/altruism. And it sets your kid out as different, which they mind more and more as they age. I also assume older kids have smaller parties, as you can't bung them all in a venue and let them go wild in the same way, so it just seems less appropriate and more impersonal - plus it's a genuine deprivation for your child at that age, which at preschool and Reception years I don't think it is.
And I would never, ever deprive guests of a party bag. They love them, and I think childhood treats are important. Nor would I ever suggest the party is the present - it's transient, though lovely. I think kids deserve a day that's all about them, in a way Christmas (rightly) can't be. Christmas is different, in that it's reciprocal and universal, and in many ways all the more special for it. But a birthday is about celebrating your child's life specifically, and I think gifts they can keep is a nice way to do that, myself.