Think of how horrifically abused the system would be if name changes were free? Every kid and his 10 buddies would change their name on a daily basis, heck, multiple times in one day, just for fun.
Now imagine having to build the infrastructure around having the Xbox Live setup understand how to update all that information, all the time, without an issue.
I'm sure the $10 fee is for a few reasons, one to reduce the amount of name changes that aren't required, and two because even though we pay for a yearly service, I'll be that MS, like any company, has budgeted out specific items. Having one of their techs help out on the phone for repeated name changes is probably not one of them.
Not that I'm agreeing with the $10 charge, but I don't see it as a huge issue. I do remember when I signed up, there were warnings that this was the name we were stuck with once we signed up.