I've got a special challenge for all of you Pokemon trainers out there. The short version of it is quite simple:
Don't use TMs.
Now, I'll tell you a story.
Back when I was playing the original games, starting with Blue version, I didn't use TMs, basically because they're one-time use, and I didn't want to use one inappropriately and get messed up. There were some that could be purchased, but those cost money anyway, and I kind of naturally hoarded it. Remember that this was back before repeat battles and Amulet Coins.
Of course, you can still get all of your favorite TM moves. After all, lots of Pokemon learn TM moves. For instance, in Pokemon Ruby, Pikachu learns Thunderbolt and Thunder by leveling up, and those are both also TMs.
Thus, breeding can be important. I'll give you an example.
Want a Rhydon with Iron Tail and Thunderbolt? Breed a male Aggron with Iron Tail onto a female Rhyhorn, and get a male Rhyhorn with Iron Tail. Breed that onto a female Pikachu to get a male Pichu that knows Iron Tail. Evolve that into a Pikachu, and level it up until it learns Thunderbolt. Breed that onto a female Rhyhorn, and the hatchling Rhyhorn will know Thunderbolt and Iron Tail. Well, that last part only works assuming that Bulbapedia is correct. I'll double-check.
Holy crap. The one that I'm planning will know Thunder, too. XD Yes, I'm actually still following the "All Natural Challenge" to this day. It keeps things interesting.
"But wait!", you say, "That will make it harder to make a competitive team."
That's why it's a challenge. ;)
P.S.: Let me know what you think in the comments below!