Definitely do it on your own. It's important to get off the ship fast since the Red Hook ferry runs every hour. You want to catch the 9AM ferry and the ride from the ship to Red Hook is a good 20 minutes. We were at Trunk Bay before 10AM and had over 3 hours to swim and snorkle. We were back at the ship before 3PM, so had time to shop. If you want much better snorkling at Trunk Bay, go all the way to the left side of the beach as you face the ocean and wade into the water off the rock cliffs. The coral and fish are significantly more spectacular than on the overcrowded snorkling trail. Also, you don't have to hear the constant whistling and yelling by the lifeguards trying to keep the masses from touching the coral and rocks. I was very surprised that this area was not monitored by the park employees, but knew it was OK to snorkle in since the off shore excursions send their customers into that area.