We tried Church Bay but it was windy and the surf was rough and dangerous.
We also tried the Snorkel Park at the dockyards. It was protected and a great, safe place for kids to learn. The coral is not thriving there but we did see enough fish to keep it interesting, including a parrot fish, zebras, etc. At $5/adult and free for kids to get in you also have a live steel drum band, a nice beach with bathrooms, and a snack bar so it was worth it.
Another day we went to Admiralty House Park, a very short bus or taxi ride from Hamilton (or even walk it). What a lovely park and a great place to swim. While the snorkeling wasn't superb, there was quite a lot to see in a nice protected environment. Highlights: we followed an octopus, saw a family of squid, saw a puffer all swelled up, an eel, Spanish hog fish, and crabs. The caves at the park are fun to explore - gorgeous views.