My MIL finds giving cash much easier, too--she "only" has 7 grandkids (and now 2 great-grands), but she's 85 and in assisted living--it's just too much for her to worry about who wants what, sizes, ages, interests, etc. And to be fair, she wasn't all the great about that stuff, in the first place, but she really doesn't need the extra burden now. Anyway, she used to give each grandchild $100 for Christmas. I felt this was too much, but she exercised "grandmother privilege" to spoil her grandkids. Ok, fine. We put the money in the bank--the kids had plenty of gifts already, including a couple giftcards (SIL works at Target, that was a sure thing). Then what we'd do is, when we were taking a vacation, the kids could withdraw $50 of their Christmas money to spend as they liked on souvenirs. They never missed the money at the holidays, and were thrilled to have it later on (with some still kept in savings--I still don't think a 4yo needs that much cash in hand!)
FTR, MIL has now upped the ante, and gives $1000 to each grandchild (she can easily afford this). We keep telling the younger kids that this is for college. DS19 saves his (he's in community college, expenses are low), and DD21 generally uses this for college expenses. And no, my kids do NOT get half that for vacation spending money!