We also have a pool and 6 out of 7 of my kids/nephews have learned to swim, by age 4...I didn't even bother w/the mommy and me classes and put them in level 1 at 3 yrs old. Our Parks and Recreation program offers "American Red Cross" lessons and they were great. My oldest 3 kids all had 7 years of swim lessons and I intend to have the remaining 4 do the same...because once they have mastered the Freestyle, they are golden..this takes a bit longer to learn but they catch on really fast if you continue with lessons every year and you are lucky to have the pool and be able to practice all the time...this really is a great advantage!
You sound like your son is right on track, just keep at it! I would just practice holding yours and his breath under water at the same time...this is (usually) fun for them and gets them used to being fully submerged...the way I did it was to tell them lets have a Tea Party under water...I would sit indian style under water and pretend to pour them tea and hand them cups...it was fun! The diving toys are also a good motivator, we started on the 2nd step in the shallow end!
I never considered my kids "real swimmers" till they could swim from one end of the pool to the other w/out going for an edge, I always swam right along side of them at first, just in case...and then jump into the deep end and retrieve something off the bottom of the pool, this didnt happen for my kids untilo around 6 thru 8, but its a bit scary for some.
All this takes some time because the doggie paddle isn't very effective for the lil' guys, they have to do sooo much work to get anywhere :) but practice, practice, practice and he'll get it...probably by the end of this summer, just you wait!
My 2 yr old is at the stage of swimming as your son but I will not let her go without her life jacket because I know she is not capable of going very far...she wants to so badly and tries so hard to be like the big boys! She is the youngest and the only girl in a house full of 7 kids...and is on track to beat all the boys' records...she walked at 8 months...and will probably be swimming at 3, at the rate she is going:)