It's true that a zero mass neutrino would travel at c (just like any massless particle). But neutrino oscillations are not decays. It's more that the neutrino propagates as a mixture of eigenstates. There's nothing stopping one of these eigenstates from having zero mass (as far as we know).
As an analogy, you could think of a photon with circular polarization traveling through a vacuum. If you measured its linear polarization you would sometimes find that it is up-down and other times left-right. The photon is massless but is still able to oscillate between these two linear polarizations because it is propagating with a mixture of these two polarizations.