I have a custom built harness for my Canon that permits me hands-free scuba diving. Basically I removed the normal strap, and replaced it with a small loop of braided nylon. With the loop, you can hook on various combinations of carabiners, bolt snaps, or other connectors. For scuba, I connect it to a hefty retractor clipped to my BCD. My housing has a second attachment point on the opposite side; I made another nylon loop and clipped it off with a male/female plastic buckle on nylon webbing attached to the opposite side of my BCD. When I want to use the camera I simply pop the plastic buckle on the left side and yank on the retractor on the right side.
Snorkelling's trickier. I keep my camera in my hand, and replace all my scuba clips with a short wrist lanyard. I have never seen anyone snorkel with a camera not in their hands. If you clip it off to your belt, it's going to shift around a lot. You'd have to secure it to your leg or hip in a holster or elastic band, and that'll create a lot of drag and intitial discomfort. I do not forsee that as practical unless the camera is very small; pocketsized.
One thing I've also noticed is that you miss a lot of photo opportunites when your camera is not in-hand and ready to go. Even futzing around for a few seconds can be bad. I've gotten used to disappointment.