On n'est pas vraiment sûr des origines des roms (parce que oui : Roms et gitans désignent le même peuple. Il existe de nombreux mots pour les désigner parce qu'il s'en créait à chaque fois qu'ils traversaient une nouvelle aire linguistique
Je ne vais pas détailler toutes les étymologies mais par exemple: Romanichel vient du Turc "Romani çel" : "peuple romani".
"Tzigane" nous est parvenu par l'intermédiaire du Russe mais vient du Grec Tsiganos qui désignait à l'origine une secte paléo-chrétienne, mais qui était passé dans le langage courant chez les russophones (ainsi que dans l'empire Byzantin) pour désigner toute personne extérieure à la communauté locale.
Les Allemands les appelaient "Manuschen" (qui a donné manouche en français)
Les espagnols les appelaient "Gitanos".
Les Anglais "Gypsie" .
Bref...
Pour revenir à leur origine, l'hypothèse la plus souvent retenue est celle du Sind et du Pendjab
http://fr.wikipedia.org/wiki/Sind
http://fr.wikipedia.org/wiki/Pendjab
Elle semble être corroborée par les études linguistiques.
Ils seraient partis (plusieurs hypothèses sur le pourquoi du départ) vers les années 900 et se sont éparpillés.
On pense qu'ils vont mettre au plus court 3 siècles pour arriver jusqu'en Europe, mais les premières mentions dans les sources datent du début du XVe siècle.