I try to stick to a no pinchers or pinchers rule. If you get crabs, THEY WILL take snails out of their shells just for no reason regardless of how many extra shells you have laying about. I have seen one crab change shells 15 times in one day, LOL. But if you are talking about trying to keep the substrate and glass clean, you really can't go wrong with some turbos and a few sand sifters.
I just don't like starfish because usually at a certain age they cause some problem or another. Once most of the sand sifting stars have depleted the fauna in your sand bed, they will start to deteriorate. Brittles will get so big they will start taking out fish if they get that size.
Tongan Fighting Conchs are usually a good substrate feeder and keep the sand bed stirred as well. It is kind of hit or miss with their lifespan though. I have had several for 5-6 years now and others just went for no reason. Cerith, Bumble Bee and Nassarius Vibex all pretty much perform the same tasks and then burry themselves back in the sand bed. Nerite snails are all but useless because most of them (ones from Florida should probably stay in Florida because of tempered waters and they actually surface to breathe air) get about the size of a dime and are pretty slow workers. Banded Trochus snails are a good choice for herbivores because they don't get very large. These things breed like crazy from what I have seen though.