I don't really cycle, I try swimming but I'm not very good at it and find it bores the **** out of me but I love running and really enjoy it so that's what I do when I can but been having to replace it recently because of a knee ligament problem so I went swimming quite a bit and found it got my heart rate up quicker than running but I wern't doing sprints and also just found swimming much harder work overall, doing the front crawl. I've settled now on 1 hour sessions on the cross trainer instead which is great as you can increase the restriction level working more anerobically and doesn't bore me so much as can listen to music! But one isn't better than the other strictly for cardio, just whatever gets your heart rate up.
I agree 100%, use them all. I don't really like the idea of Flat surface running and treadmill running at all though (pending a knee condition). I don't find them nearly as efficient as hill sprints or running through uneven surfaces like sand & forests. I think awkward mother nature beats convenience running any day of the week.