La règle "à ou en" avec les noms de lieux est paraît-il:
-
à sans article (ce qui est le cas pour la plupart des villes et villages, pour des îles, et pour quelques pays):
Cuba -> à Cuba
-
à avec un article qui se contracte avec
à (c'est-à-dire
le, les, qui deviennent
au, aux, et de même
du, des):
le Maroc -> au Maroc, du Maroc
les Antilles -> aux Antilles, des Antilles
-
en avec un autre article (c'est-à-dire
la ou
l'):
la Pologne -> en Pologne
l'Iran -> en Iran
mais
à pour
la ou
l' faisant partie du nom d'une ville ou d'un village:
La Ferté -> à La Ferté
Avec des exceptions pour des noms de lieux relativement récents: les Alpes-Maritimes -> dans les Alpes-Maritimes, Israël -> en Israël, etc.
Donc: Haïti -> à Haïti selon l'usage ancien conforme à la règle, mais maintenant on dit plutôt: en Haïti, d'où les protestations des puristes...
-- Olivier
édité: règle plus claire