My dd1 is with Swimeasy and they have been brilliant. They're a little pricier than the council run classes but classes are in a 1 teacher to 4 or 5 kids, sometimes with an extra teacher for the beginner classes.
My dd1 started with them when she was 5yo. I know they do classes for younger ages but can't comment on them direct. However, having seen her progress since starting with them last xmas, they have been fantastic.
For 3yo, I imagine you would be in the water with your child for the lesson, so might be more of a 'group' style class.
Another thing to consider is leaving it a while and just keep going swimming as a family but with no pressure to learn strokes, just have fun and build confidence. With both my daughters we did Waterbabies from about 5 months. But when each got to age 2.5/3 yo, they weren't interested in anything structured, just wanted to lark about! So we stopped going to lessons and just went for play swims. Then when dd1 turned 5, I looked into lessons and Swimeasy was recommended.
When dd2 turns 4, we'll prob get her started with Swimeasy too. They operate across a lot of pools in Edinburgh.
If you do decide to go with them, then perhaps pm me as I can recommend you - you get an initial discount and I get a small finders fee!