This is the closest place to Stone Town to snorkel. We booked a boat for the 2 of us for $35 through one of the many travel agents in Stone Town. It was very rough water. We tried snorkeling before we stopped on the island but cut it short because of the waves and having to dodge jelly fish. We then toured the island at our own pace, enjoying the tortoises and touring the old quarantine site. There's not a whole lot to see, but it's interesting. We tried snorkeling again after our visit and saw quite a bit. We were in control of how long we stayed and felt like we had seen enough after about 4 hours.
Be aware that getting in and out of the boat entails wading and climbing slippery ladders. They are used to clumsy tourists but I wouldn't recommend it if you have any mobility problems.