We rarely book excursions anymore. It's easy to go it alone. It's a little bit cheaper, but the big sell for me is the flexibility. When you go on your own, you get to decide how long to stay, when to head back to the ship, whether you want to stop and do something else, etc.
Both island are easy to get around by taxi. There's a rank of cabs at both cruise ship piers that will take you wherever you want to go. You can often arrange for them to come pick you up, too, but finding a cab is never a problem.
For snorkeling, I like Dawn Beach or Little Bay Beach on St. Maarten. Dawn is probably my favorite. On St. Thomas, the best snorkeling beaches are probably Sapphire Beach and Coki Beach. I lean towards Sapphire, but with younger kids, Coki is a better choice. Coral World is right next door, and that's a fun thing for kids to see.