Ironically, "foreigner" is an English word I hear being used almost exclusively by...foreigners.
I would generally consider it to be a rude or negative word, simply because in polite conversation there wouldn't be a reason to use it instead of a different, more polite or more specific word.
For example, if I wanted to say that someone who is not from America, where I live, is foreign, I would refer to their place of origin instead. For instance if they were from Egypt I would call them "an Egyptian." I would simply say "He is Egyptian" rather than "He is a foreigner."
When referring to a group of people who are "foreigners," or to the concept of being foreign, I think there are less clumsy ways to say that. For instance, if I were to refer to people travelling to America I would call them "travellers." If I were to refer to people living in America without citizenship I might say "non-citizens," or in other contexts "immigrants."
There simply isn't a case I can think of where "foreigner" could not be replaced by a more polite, less stigmatizing or less general term.
Only when hearing people speak English in non-English speaking countries do I hear the term "foreigner" used casually. It is more of an artifact of imperfect translation I think.