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.