The best dolphin swim experience we had was at Discovery Cove in Orlando. It is a full day program, although by FL law, you are only in the water with the dolphins for 30 minutes. Ther rest of the time, you can do the lazy river, "coral reef" snorkeling, feed sting rays, feed animals/birds in the aviary, etc. It is about $200 per person for the day, but that includes parking, lunch, wet suits, a family photo, etc.
You don't "free swim" with the dolphins, but the trainer looked at DD and asked her if she wanted to swim fast. She said yes, and the trainer had her hold the dolphin's fin and gave the dolphin a command to really move. DD thought it was a blast. Yes, they did the touching, kissing stuff too, but you did give commands to the dolphins and swim holding on to them.
We did a lot more on this dolphin day than we did on any of the cruise programs we've done.