While the bend modifier will work with a fairly simple animation that won't be viewed to closely, I think the best way to do it is to rig a skeleton for the fish, so that you can have its' separate elements moving the way a real fish would (fins moving separate from the bending motion of the backbone and tail, gill fins waving to do the micro-steering a fish needs to do). Maybe by doing separate mesh selections and using the bend modifier would do it.
You might also try using a ripple modifier, and moving the whole fish through it. OK...but not as good as rigging a skeleton. If all you're doing is making a school of fish, you can probably get away with the bend or the ripple modifier, but if you've got a hero fish which will be seen in tight shots, the fake will be painfully apparent. I think the skeleton setup for a fish should be pretty easy to do with Biped, but I'm a rank beginner at character animation, so it might be tougher than I'm thinking. Good luck!