Rinku Sen at Colorlines has one of the best arguments I've read so far for why people should stop using "illegal immigrant":
The word homosexual, for example, is clinically correct but experienced as dehumanizing by gay and lesbian people, and so they pushed for journalists to drop it. As the discourse changes, so does the culture and policy affecting gay people—not nearly fast enough, but significantly nonetheless. Some may say, “But being gay isn't a choice.” Well, neither is escaping poverty, drought or war. That millions of people wind up in the country without permission comes about for many reasons, only a very few of which have to do with the choices individuals made.
The comparison isn't exactly right -- one makes a decision to overstay a visa or enter the country illegally, whereas sexual orientation isn't at all a matter of personal agency. But the latter is a civil violation while the former is a crime, and Dana McCourt is correct that in that sense, "illegal immigrant" blurs key distinctions.
But the comparison between "illegal immigrant" and "homosexual" is powerful, for the reasons Sen identifies. It's facially neutral, but you wouldn't refer to your gay or lesbian friend unironically as "a homosexual." Opponents of gay rights, however, frequently spit the word as an epithet, with terms like "homosexual activist" and "homosexual agenda." Reading Sen's piece made me feel a bit like that serial killer on Family Guy who stabs himself and says, "My G-d, is that what I've been doing to people?" I cringed.
I don't know that I've been entirely persuaded to stop using the term, but I'm certainly going to think about it.