Currently you can't get any moves for a Pokémon that its evolution gets by a simpler method (Murkrow TM Swagger when Honchkrow gets it leveling up, Happiny BM Metronome when Chansey gets it by TM). It also says that for split evolutions where some get it leveling up you can only give it that move if you evolve it into the other one. But what happens if I give my Ralts SM Wish, then trade it to someone who wants a Gardevoir? I suggest that we implement a system where you can give any move a Pokémon learns to it, regardless of how its evolution gets it, and if it evolves you either get the TM back in your bag or get a refund/switch to another daycare move (for BM/MT/SM).
Some examples of these:
These are just some I happen to know/could easily find. There are likely others.