I have two sets for each bed. But both beds are Queens, so 2 is the average. I usually rotate three sets on our bed, and just keep one set for the guest bed. It's very rare that we have to change the sheets on the guest bed last minute - we usually just wash them after each guest and put them right back on the bed.
When I have kids in their own beds, I plan on having 2 or 3 sets for each bed, but again since we will probably have them all in twins, and the likelihood of needing to change ALL the sheets is not very high, we could get away with one spare for each bed, I think.