Many fish will sometimes eat them, but there is no fish that is guaranteed to do it. Every fish that I've seen a success story with, I've also seen the same species completely ignore them.
As for the nudibranchs, they're not a great idea. They do a fantastic job to start out with. There are a couple of problems with them. One is that they eat like crazy and grow when there are a lot of flatworms in the system. However, later on, there are only a few flatworms left, and the nudibranch ends up starving because it can't find them enough to support itself. So, it dies off, and then the few that remain are able to repopulate the system, and you're back where you started (minus the money spent on the nudibranch).
The second problem is related. Flatworms have toxins. As the nudibranch eats them, it concentrates the toxins. When it dies, those toxins are released as one huge chunk back into the water, potentially wiping out other animals.
Dave