I would definitely recommend Foss. My older daughters started there (at St. Lois Park) when they were 5 and 3. They are now 10 and 8 and are still swimming with Foss, but we have moved to the Blaine location since they have progressed out of all the levels taught at SLP. They are now doing the pre-competitive, swim team style lessons. They love it. We now also have our younger 2 taking lessons (they are 5 and 3).
Foss is very good at teaching stroke basics and mechanics and they are very consistent from teacher to teacher.
On a side note, Foss has parent-child lessons until they are 3 and then the kids take them on their own. We started all but our oldest at 3 and none of them had any problem doing the lessons on their own.