It's interesting to look at the hydrodynamics. We have a rigid hull, and it's difficult to figure drag etc. on those. A moving, flexing hull (fish's body) presents problems several orders of magnitude more, and they change in an instant and cannot be held constant for study.
Fish have slime, and that has to be part of it. I agree, Joey; I also think their movement is part of it. As a fish flexes, major portions of its body are pushing back - at least in some degree - on the water. A human swimmer has to drag his arms out of the water, partly creating back force and the rest is just drag. A fish makes propulsion no matter how it moves.