I took my 7 year old non-swimming son at the beginning of the year to Brightwater Swim School (formerly Splash). In just over 3 months, 1 x 30 minute lesson per week and the intensive Easter lessons, 4 x 30 minutes and he's swimming. He's no Michael Phelps but he's getting from one end to the other.
Big plusses are, small classes and instructors in the water, showing the children what and how to do the techniques.
It might be a little more expensive than other swim schools but in my opinion it's good value for money and I would definitely recommend them.