Après un verbe exprimant la direction, l’emploi de sur devant un nom de ville est considéré comme familier. On le rencontre seulement dans la langue parlée. Dans la langue courante, on utilise la préposition vers :

Il y a une exception à cette règle : l’expression marcher sur une ville, qui signifie « se diriger vers une ville en vue de l’attaquer », lorsqu’on parle d’une troupe :