Don't go on the big, silver cats with 1,000,000 tourists and ****, to dead reef.Go out with a small operator, with a relatively small number of people on board (40ish). I can highly recommend these guys:
www.poseidon-cruises.com.auThis was also super nice, especially with good weather:
sailawayportdouglas.com/Might be worth it for an easy, off the beach introduction to snorkelling for kids.
If your kids can swim OK, or even "just swim" they'll probably be fine snorkelling with a life jacket on. They float. You can easily tow them around. Took mine a few minutes to get used to it then we had no problems all day. My bigger one just disappeared down, down, down toward the sharks : \ He's a good swimmer.
Scuba diving is good, but snorkelling is actually just as good, I think anyway. All the best bits are near the surface.
I prefer Port Douglas over Cairns. It's just nicer. The drive to Port Douglas is
spectacular. There are sights on the way like the rainforest cable car, and the crocodile farm, and of course The Daintree. Don't miss them.
Do take the crocodile signs very seriously.
Super bonus:
www.paronellapark.com.au (almost as good as the reef. bit of a secret it seems)
The tablelands have lava tubes and beautiful scenery.