The Ningaloo Reef is one of the best places in the WORLD to swim with whale sharks ethically!
It deserves it's excellent name as they even limit the amount of people that can swim with them year round.
It's not a cheap activity, but definitely worth doing if you're visiting between April and June (the peak is May).
Just make sure to book this tour early for your trip, like the first or second day. This will give you wiggle room to reclaim a no-sighting policy if you need to. In fact, we would recommend booking way in advance if you know the dates you will be in Exmouth.
Most operators have policies like this, where you have a free repeat tour on the next available day (might not be the very next day) if the whale sharks decide not to show up.
This happened to us (we went in August) and we had to reclaim the policy.
We didn't swim with whale sharks because it was very late in the season, but honestly we'd paid for it again! The tour was THAT good even without whalesharks.
(This is the BEST whale shark tour in Exmouth in our opinion, with an excellent no-sighting policy, photographs of the experience + lowest-price guarantee)
About the activity:
Spotter planes help find the whale sharks and the boat takes you to them
The planes are on the lookout for other animals like manta rays, turtles, dolphins, etc, so you'll see lots of wildlife
These tours also include 2-3 snorkelling sessions in parts of the reef you wouldn't be able to reach without a boat, which is a massive plus for us.
It's a full day of being in the water so be prepared for a lot of physical activity.
We wrote a full guide with tips from our experience, what to look for in a tour (like no-sighting policy) + some recommendations. It's here if you're keen!