I don't think there could be a better broadway musical for a 9 year-old boy, actually. It has sufficient bawdy humor and only measured doses of mushiness and love. As a bonus, it has sword fighting, dead people and castles.
The raciest bits were probably some of the dancing and costumes of the girls, but this was far more tame than what you see at most halftime shows, even without wardrobe malfunctions.
We saw the show a couple of weekends ago and were in Orchestra Row G, on the right side of the right aisle at the Schubert Theatre. Great seats. There was a boy in line behind us about 9 or 10. He was very excited and probably said, "I can't believe we're going to see Spamalot!" about 50 times.