As a fan of Heifer International, I like Taylor's idea below of sitting down with your niece and letting her choose what gift to give others via Heifer. She can read the stories online of families and whole communities helped by others' generosity.
I would not give her any money directly, though -- donate to Heifer yourself as she sits there, so she isn't tempted to pocket any cash and not donate it. I would think hard about what charity might appeal to her most; if she likes animals, try Heifer; or see if a local animal shelter takes donations and drive her to that shelter to give them her donation in person, along with some blankets (shelters do use old blankets), animal food you and she buy, etc.
I strongly suggest you NOT do any of this at the height of the gift-giving frenzy when your family is all together and other kids are opening stuff around her. Talk to her parents and arrange to do it before Christmas when you can take her out alone to do this or have her over to your house (if you're local....?) to pick out her Heifer contribution, or drive her to the animal shelter or whatever. For a gift to open, give her a Christmas tree ornament that has a photo of her at the animal shelter on it, or a picture of the kind of animal she donated via Heifer!
Don't make a huge moral deal out of "We're doing this so you can learn to give." Just tell her that your gift to her is a chance to pick out great animals to give to others or a chance to make some unwanted animals at the shelter have a better Christmas. Whatever. If she's not into animals find another charity where she can go in person to take her donation. If she says -- and from what you report, she just might say this out loud, rude as it is -- "I'd rather just have the money for myself," then can you manage to smile a big, sweet smile and say, "Sorry, honey, but this year THIS is my gift to you. I would love you to (pick out farm animals / go to the shelter and see the dogs/cats etc.) but if you don't want to do this, I will give the money in your name anyway." If she persists in being greedy about it, just walk away and do donate that money-- then be SURE she gets a lovely card later from you adorned with animals and telling her "A goat is on the way to a village in X thanks to you -- I have donated it in your name" etc.
If you can give her the gift of more of your time through the year, do it. Don't let it center on holidays or her birthday and don't let it involve anything material. Ask her folks if you can take her to a park and out for ice cream when there is no special reason at all. Take her to a movie and then make simple pizzas together if you live near enough. Ask her about herself, school, what she likes, etc. When she's rude or grasping, ignore as much as you can, and when she can't be ignored any more, change topics, and when that won't work, tell her how sorry you are she feels that way. An adult saying that can really rock a kid who is used to being either indulged or snapped at for her look-at-ME antics.
See if you can persuade her folks to get her into Girl Scouts or involved in school clubs or school activities if she isn't already. She needs more, not less, interaction with other kids. Other kids will be quick to bump off her sharp edges if she pulls the self-centered act with them, frankly. And being involved in things bigger than herself is only good -- whether it's service projects through school or Girl Scouts, whatever.
You are a great aunt, by the way. You cannot parent her and I'm not saying you should try; just see if you can spend some time with her that is not centered on gift-giving occasions, and be regretful and cool when she acts greedy and entitled. You cannot undo her parents' poor parenting but you can just be a steady presence whenever you are able.