Sketch will fail if Smeargle moves first in a battle. Simple, if there is no move for Smeargle to Sketch it can't Sketch it.
However there are other situations where Sketch cannot copy a move. This list has changed over the generations however. To use your example of Silver, from Generation II:
Sketch cannot be used to copy Selfdestruct, Explosion, Struggle, Transform, or Metronome. If used by a transformed Pokémon, Sketch will fail. If the battle does not allow experience points to be earned (such as link battles or Battle Tower battles), any move learned via Sketch will be forgotten at the end of the battle.
Sketch is not affected by Protect or Detect.
As of the current Generation (6), Sketch cannot copy Struggle or Chatter, and will fail if the opponent uses Crafty Shield