clown loaches are also extremely good at eating snails. Don't know that I'd put one in a twenty gallon since they eventually get huge...takes forever, but they do.
Clown Loaches are good snail eaters, but they do get massive, about 14 inches full grown and are schooling fish so really need a tank with lots of space. Even though they grow slow, they will outgrow a 20 gallon in a year to a year and a half. There are quite a few other species that can eat them as well, like the Dwarf Chain Loaches. I have personally seen Kuhli loaches, ghost shrimp and my A. molobrion (miniature species of horsefaced loach, hard to find anywhere) devour juvinile pondies and the A. molobrion will eat any snail that I put in the tank, unfortunately I WANT the ramshorns
Dwarf Pufferfish will also eat snails but they are often horrible fin nippers.
Like Purrbox said, it is better to attack the problem at it's source, snails tend to multiply when there is an abundance of food for them, so cutting back on feeding and doing more water changes/gravel vacuumings will help reduce the population.
I neat method that I have seen is taking a plastic bottle, cut it off about 3 inches from the top right about where it starts to taper up, then invert it and silicone it back together, you can shove some lettuce in afterwards or in the process. The cool thing about this is that the snails have a harder time getting out of it than they do the open lettuce leaf. Just be careful of your otos wanting to snack on the otos as well since I have seen this same method used with a larger plastic bottle to catch those buggery fish like Kuhli's that are so difficult to catch with a net.
Lol, I think that is all, really long post, sorry.