Some pokemon, when well-trained, will agree to carry their trainer on their back. While no Pikachu out there is large enough to do this, the following list shows which pokemon can carry a person and in what medium.
Ground:
Ponyta, Rapidash, Dodrio, Arcanine, Tauros, Rhyhorn, Rhydon, Onix, Steelix, Venusaur (Note: While Nidoking and Nidoqueen are certainly large enough to be ridden, their poison spikes make this extremely dangerous.)
Water:
Blastoise, Slowbro, Slowking, Dewgong, Kingdra, Gyarados, Lapras, Dragonair
Air:
Pidgeot, Fearow, Dragonair, Dragonite, Charizard