Fantastic excursion - the highlight of our trip. Definitely go for it. It was good fun and the captain of the boat that took you out to the reef is very entertaining and a real character.
While I am all for booking direct there are a couple of things to bear in mind here.
St Thomas tends to have several cruise ships in on the same day. The day we were there on the Sun Princess, there were 4 other cruise ships in port (terrible traffic). As there is one BOB operator, all the cruise liners were restricted in the number of people it could put on this excursion. Definitely book early on the internet as we were on the waitlist for this excursion until a couple of days before the stop at St Thomas. There is only one boat which will take on average 35/36 people maximum per trip (42 if really pushed in exceptional circumstances. Overhead the BOB captain on the cellphone that he was going to make an exception to increase the numbers to 40 for the family of Princess captain as a special favour). You are split into groups of 6 when venturing in the BOB, and there are about 12 BOBs on the boat ( one group of 6 loading/unloading and the other group of 6 out by the reef). Others getting to snorkle (equipment supplied) while waiting for their turn or having finished. The boat also picks ups from the front of the cruise ship pier so you are met at the end of the gangway and its a 5 min walk to the BOB boat. Princess charges $99 which I think is reasonable for the convinience given there is only one operator and cruise ship passengers would appear to be take precedence. It would be different if there were several.
Safety is excellent and you get a scuba diver for every 2 BOBs swimming along side you and another 2 snorklers overseeing operations. Take your underwater camera since the scuba divers will take the camera off you and take pictures of you in action!
Book early! This is a great activity and will be very memorable