We stayed at 2 top-notch resorts; Kewarra Beach and Silky Oaks. Both were very nice and far-removed from civilization (which can be good and bad). We finally got up the nerve to "hire a car" or "rent a car" as we say in the U.S. and drove from Cairnes to Mossman, which wasn't too difficult.
We snorkelled with Wavelength, based on info posted on this board. The staff was friendly and we only had 10 in our group. They had 2 perscription masks which and they let my husband use one at no charge. They really helped to make sure the masks fit correctly and provided toothpaste to smear on the masks to avoid fogging ( It sounds weird, but it works). The only thing I voiced my disappointment about, was the fact that all 3 snorkel stops were within 1/4 mile of each other and not very far from shore. (All the other snorkel tours passed us and continued out of view). They were so close that one couple asked to stay a little longer at one site and then were able to just swim over to the following site. We saw about 30 varieties of fish, but we thought the coral was the most impressive. The coral was all different sizes, shapes, and colors and looking at a 30 foot wall of coral was breathtaking.
Mossman Gorge is beautiful, if you have a rental car. Port Douglas has good souvenier shops, but didn't have a very appealing atmosphere. If we were to go back, we'd stay in Palm Cove. It's a quaint little town on the beach, with little stores, restaurants, and several hotels. They have public bus service to Cairnes, but most of the tours will pick you up for around $20US per person.