So Annie is the only champion with ten skins.
There are four champions with nine skins, none of which you mentioned, them being Ryze, Gragas, Jax and Twisted Fate.
Teemo and Tryndamere have eight skins a piece, a number shared with Kog'Maw, Fiddlesticks, Blitzcrank, Warwick, Amumu, Sivir, Alistar, Veigar, Dr. Mundo, Katarina, Nidalee, Ezreal, Miss Fortune for a total of fifteen champions.
There are twenty champions with seven skins, with Sona who you mentioned along with Ashe, Kayle, Morgana, Nunu, Tristana, Singed, Twitch, Rammus, Gangplank, Malphite, Corki, Shaco, Pantheon, Garen, Akali, Vladimir, Caitlyn, Renekton and Lee Sin.
And while Ahri has six skins, she shares this number with Master Yi, Cho'Gath, Anivia, Janna, Nasus, Poppy, Shen, Kennen, Xin Zhao, Lux, Jarvan IV, Vayne, Orianna, Riven, Graves and Sejuani, for a total of seventeen champions.
So going off of what you said, Yes Annie has the most skins, but Teemo and Tryndamere either have the same number or fewer skins than seventeen champions, and Ahri has the same number or fewer skins than fifty six other champions. With a cast of 129 champions she's in the top half of the amount of skins and is just a bit ahead of the middle of the pack right now in terms of skin numbers.
So Annie having more skins than any other is correct, your other examples are not. Look at that list and tell me that these champions are _all_super popular and so Riot makes them skins for that reason. You'll find that's not true with folks like Cho'Gath, Nunu, Shaco are up there and they aren't random outliers. The biggest trend you see when comparing skin numbers is that most of the time older champions just have more skins. Not true 100% of the time as Kassadin, Sion and Soraka attest to, but true enough to draw some hypothesis from.