Villes
Si le nom commence explicitement par Le, au est utilisé :
Le Havre → Au Havre
Le Mans → Au Mans
Le Cap → Au Cap
S'il commence par Les ou est manifestement au pluriel avec un les sous entendu, aux est utilisé :
Les Sables-d'Olonne → Aux Sables-d'Olonne
Saintes-Maries-de-la-mer → Aux Saintes-Maries-de-la-mer
mais à Saintes, à Los Angeles, à Trois-Rivières, à Six-Fours-les-Plages
Dans tous les autres cas, les plus nombreux, le nom de la ville est utilisé sans article et on utilise à :
Paris → À Paris
Québec → À Québec
Bruxelles → À Bruxelles
Deux exceptions très optionnelles qui survivent essentiellement grâce à des journalistes parisiens1, En Avignon et En Arles, mais à Amsterdam, à Amiens...
Pays
Si on nomme le pays avec l'article l' ou la, on utilisera en
L'Allemagne → En Allemagne
La Belgique → En Belgique
Si c'est avec le, on utilisera au
Le Canada → Au Canada
Le Yémen → Au Yémen
Si c'est avec les, ce sera aux
Les États-Unis → Aux États-Unis
Les Pays-Bas → Aux Pays-Bas
Enfin, si le nom n'est jamais utilisé avec un article quand on désigne le pays (essentiellement certaines îles, mais pas que), on utilisera à.
Cuba → À Cuba
Madagascar → À Madagascar
Monaco → À Monaco
Les zones géographiques suivent les mêmes règles que les pays:
Le Sahara → Au Sahara
L'Asie → En Asie
Les Antilles → Aux Antilles
Parfois, dans les est utilisé :
Les Alpes → Dans les Alpes (Aux Alpes)
Régions
En est la règle sauf pour les régions pour lesquelles un article n'est jamais employé (ici aussi essentiellement des îles) ou si l'article La est inclus dans le nom, dans ces deux cas on utilise à:
En Berry2, En Roussillon, En PACA, En Wallonie, En Limousin
À Tahiti, À La Réunion
Les provinces qui sont aussi des états, ou considérés comme tels, sont nommés comme des pays:
Le Québec → Au Québec
Le Texas → Au Texas
L'Ontario → En Ontario2
Le Yucatán → Au Yucatán
La Louisiane → En Louisiane
Pour illustrer ces différences, Luxembourg est à la fois le nom d'une ville, d'un pays et d'une région :
À Luxembourg = la ville
Au Luxembourg = le pays
En Luxembourg = la région belge
1 Frédéric Mistral écrivait en provençal, en Arles, en Avignoun et même en Albi mais aujourd'hui à Arles et à Avignon, ces formes ne sont plus vraiment utilisées.
2 Dans certains cas, dans le est aussi possible, et parfois plus courant : je vais dans le Berry, Il habite dans l'Ontario,etc. Voir la BDL: Préposition devant les noms d'États américains