They aren't very inexpensive, but we have loved Love to Swim on Huebner and Churchill Estates. We are in our 2nd semester (our son is 4) and he can swim 30 feet already. I don't think the other kids in his small group (groups of 4 and sometimes 1 or 2 are absent) can, but since we travel and make sure to use every pool as much as possible, he has done well there. It sounds like you are also around water a lot so he might excel there too. The semi-private and private at Love to Swim are more expensive (out of our range), but they might advance faster since it's not a group of 4. I think the group of 4 is not unreasonable.
I would still not let him swim at the lake without a life jacket. He's going to have to be able to swim 100 meters before I'd feel anywhere near that comfortable. Unless you're in a very shallow area, the water is just too dark and you wouldn't have a chance to find him. The ocean also has a good undertow unless you know you've got a long shallow area.
Good luck!