Is there a difference in usage between expat and emigrant? I believe I encounter the former mostly in positive contexts, describing highly-skilled professionals ("expat guide to [country]"), and the latter in neutral-to-negative contexts, but I'm not sure if it is a coincidence.
In common usage, the distinction is usually related to the (intended) permanence of the shift from one nation to another.
An expatriate (expat) intends, or at least longs to, return to the country that he or she considers home. An emigrant acknowledges that the departure is forever and that the destination is his or her new home.
It is interesting that many dictionaries focus on the verb form of expatriate (both transitive and intransitive) and regard the nominalisation as a usage of lesser importance.
One factor in the value associated with the usage of each word as a label is whether it is applied to oneself or to others. You will certainly find numerous recent instances where expat carries the connotation of a 'good migrant'. On the other hand, at the height of the British Empire, an alternative term for expat could have been 'invader' or 'occupier'.
It is a word whose sense has varied with time and place.
In most cases, emigrants move from their home countries in search for better employment opportunities, or better opportunities in general. Their reason to move is economically motivated.
Expats are those who already have strong means of financially supporting themselves for the remainder of their lives. This may be substituted by running businesses that are geographically agnostic. In any case, they move typically for social or political reasons, but NOT for economical improvements.