I have taken five cruises on Princess, and the children's program has worked very well every time.
As other posters have noted, your son will be able to get healthy beverages like milk and juices on the Horizon Court at any time, at no charge. Princess does have some sort of card with controlled charge privileges for minors so they can get sodas, etc., but I am not familiar with the details of the plan. The card also allows them access to their room even if you are not there.
I'm of the opinion that dinner in the formal dining room is excellent training for children of school age, as well as part of the fun of a cruise. This should be no problem if you prepare your child in advance, perhaps by having family dinner at the dining room table at home a few times if you're accustomed to doing otherwise or even going out to dinner as a family at a nice restaurant to celebrate a special occasion. Princess's waitstaff bring fresh flatware for every course, so there's no need to deal with all the etiquette about which fork and which spoon to use for each course. In order to minimize the adjustment for your child, though, I would recommend whichever seating is closest to his normal dinnertime. The first seating usually is around 6:15 and the second seating usually is around 8:30.
Above all, relax and have a great time!