My personal, all time favorite snail killer is the pufferfish.
If your fish tank is swarming in snails, drop in one puffer fish. Remove the next morning, because by then, the snails will all be eaten.
While there are snails, the puffer fish (in my personal experience) will ignore the other fish. They will also patrol your live plants like mad looking for baby snails. They will eat snails as big as they are.
MTS warning - If you have Malaysian Trumpet Snails, their shells are too tough for puffers once they're older. I hate MTS, and never buy plants from any store that has MTS in their tanks. The really big ones, if I remember right, also have a trapdoor that prevents clown loaches from eating them.
But, quick list from my experience:
What I have kept in a community tank:
Bettas (some)
Firemouth Cichlid (These can get... 5-8" I think)
Puffers (Are curious, and have no hands. Thus, instead of touching everything, they bite everything. Can be hypnotized with a stopwatch to obey your plans for world domination.)
Red Clawed Crabs (Can be ok with a community tank, if no one is sleeping on the bottom, though I never personally had a problem.)
Not community safe:
Crayfish (will also eat your plants, your fish... your wallet.. but they make really cool dens)
Piranahs (Not community tank safe, generally)
Oscar (Way to big, and bulky, for a small tank.)