It says in Fataawa al-Lajnah al-Daa’imah, 10/9:
Zakat should be given to those whom Allah has said it is for, as He says (meaning):
“Zakah expenditures are only for the poor and for the needy and for those employed to collect [zakah] and for bringing hearts together [for Islam] and for freeing captives [or slaves] and for those in debt and for the cause of Allah and for the [stranded] traveler – an obligation [imposed] by Allah . And Allah is Knowing and Wise.” [Al-Quran, Surah al-Tawbah, verse 60]
It should only be given to those who are obviously Muslims, because the Prophet (peace and blessings of Allah be upon him) said to Mu’adh ibn Jabal when he sent him to Yemen:
“Tell them that Allah has enjoined upon them charity [i.e. zakat], to be taken from their rich and given to their poor.” The more pious and righteous the poor and needy to whom it is given are, the more deserving they are than others.
The basic principle with regard to zakat is that it should be given to the poor in the land where the wealth is, because of the hadith mentioned above. But if there is a need to transfer it elsewhere, such as the poor in the land to which it is transferred is in greater need, or because the giver has relatives who are poor, etc, then it is permissible to transfer it.
And Allah knows best.