I'm the family cruising editor for CruiseMates.com. We sailed the Carnival Destiny in November when my daughter was six years old and called in St. Croix and St. Thomas. On St. Thomas, we opted for the shore excursion which included ferry transportation to St. John's Trunk Bay for snorkeling and swimming. This protected beach area is quite lovely and there are changing facilities and a snack bar. My daughter didn't snorkel but loved the clear, gentle water. If you'd like to save some money on shore excursions, which really do add up for a family of four, alternatively, you can take a taxi to Magens Bay in St. Thomas as we did on one cruise. Here too you will find gentle waves and changing facilities. The beach is pretty and wider than at Trunk Bay but I am partial to the hilly scenery on St. John.
As for St. Croix, we asked the shore excursions desk on the ship to recommend a beach that has bathroom facilities, snack bar and is accessible by taxi. Generally, the staff will recommend hotel/resort beaches that accept daytime visitors. We've always been pleased with the ships' staff beach recommendations and have saved a lot of money -- it's much cheaper to pay for one taxi and a small beach entry fee than to pay the per person shore excurion fees offered through the cruise line.
Enjoy the cruise!
Luisa Frey Gaynor