I have stayed at Royal Palm many times and while many say how bad the water is I snorkel there. I find the fish there easier to find along the rocks and will go around almost to the bridge. You are not supposed to snorkel in the channel and if the coast guard sees you they will get you to leave. Depending on the tide it can be somewhat churned up. I have seen most fish there i.e. Queen,French and grey Angels, school of blue tang, squid, butterfly fish, lobster,lion fish, octapus,Sgt.majors,and damsel fish to name most. If you do snorkel stay close to the rocks especially in the channel.
I also stay at Simpson Bay Villas and snorkel there and see the same fish but moe spread out. I have also seen eagle rays, nurse sharks, turtles and queen triggerfish but not as often as the others.
I have snorkeled along the rocks at Flamingo but a lot less to see so I don't spent much time there.
I hope this helps.