I've been taking Madeleine since she was six months old. She could swim very short distances without floats at age two, at age three she could swim a width, and now age 5 she can swim a length on her front and back.
She has a natural talent for it though. A six months old most babies come up crying if they're put under water but she always came up grinning. She's such a water baby, we went to Majorca last summer and she spent so much time in the pool, mostly under the water pretending to be a mermaid or a dolphin!
My son has always hated it though, even as a baby so I stopped taking him. He's scared to go in the water at all. I don't push it, he'll no doubt find something else to be good at that he enjoys. In Majorca he spent the whole time just walking round and round the pool splashing in the puddles, he refused to go in at all!