Since you mention in the comments that you asked this question for Smeargle, a great way for him to learn any move is to do a double battle.
Have Smeargle plus the pokemon you want to copy the move from (it must have higher speed than Smeargle), then find someone to double battle with (north of Solaceon Town is a pair you can call up on the versus checker).
Then get your first pokemon to do the move, and Sketch it with Smeargle.