After asking this question, I realized that I was going to use Smeargle due to the fact that he can learn all of the moves. But how? I know he gets Sketch, but it disappears after the use. How will I get him to be able to learn all of the needed moves?
Enter Double Battles like the ones in Restaurant Le Nah (South Boulevard in Lumiose city) with Smeargle, and the Pokemon whose move you wish to copy.
Get that Pokemon to use the move, and then get Smeargle to 'Attack' your partner with Sketch.
I used this tactic to teach moves to my 'Catcher' Smeargle variants.
- Remember that Smeargle will learn Sketch every 10 levels (starting at level 1), and it can't know Sketch twice, so make sure you use the current Sketch before levelling up.
- The Move Relearner can also re-teach Sketch for the cost of a Heart Scale