Joe, it needs a whole day, but we went to a private spa. My review on our cruise on the Horizon in November has some details. It was a wonderful, peaceful and relaxing day with massages at a fraction of the cost on board ship.
On our Celebrity cruise we had a stop in Roatan for about six hours so we took an excursion offered by the ship -- "Sailing Yacht Adventure" -- which allowed us to be gone almost the total time we were in port.
Yes, we would recommend this IF YOU LIKE TO SNORKEL!
On "Sailing Yacht Adventure" they picked us up in a small van and drove us to West End where we boarded the Yacht for about an hour and a half sail which was so-so. Then we went to a place called Belvedere's Restaurant/Bar where left anything we did not want to take with us on the snorkel boat.
THIS WAS THE BEST PART! Great Snorkeling! You really could just use a mask and see tons of beautiful fish. On the snorkel boat there was all of the help you might want or might not want. They did a good job of helping thoses who wanted help and giving others the freedom of doing what they wished. Can't tell how beautiful it was UNDERWATER there!
The Bad: Some people who stayed back at the beach area were not so happy. The beach area did not have enough lounge chairs and they could not sit on a towel on sand because of sand fleas and the water was full of seaweed. The lunch they served was skimpy.
For us it was good: We were only in port for about six hours and 5 1/2 hours of this time was on an excursion doing things we wanted to do.
We have been on the island twice; once, the first time we booked through the cruise line. We did the Tabyana Beach excursion (NCL) It was the best snorkeling I have experienced and I have snorkeled many places in the Caribbean as well as Hawaii. The second time we did our own thing. Got off the ship and the tour guide were like flies. It's a very poor island, but quite friendly and a diamond in the rough. I give it about 10 years before it's one big tour resort. Our next trip we plan on doing "Salt and Peppers" We have heard great reviews, it's similar to Tabyana Beach (maybe not quite as nice) but very private and offers great food plus snorkeling: all for a good price.