Helen Boyd, in her book author My Husband Betty, differentiates the two as follows:

Transvestite is the traditional term for a man who wears women’s clothes. Trans- meaning across and –vestite from the Latin verb vestire, to dress. The term usually applies to men. The term was coined by Magnus Hirschfield in 1910 with interest and empathy, and not to label cross-dressing men deviant. Unfortunately, over time the “deviant” label stuck, despite the fact that this variety of transvestism is more accurately referred to as TransvesticFetishism.

The term cross-dresser has more recently (cca. 2003) come to specify a man who wears women’s clothes, and not one who does for sexual pleasure. More generally it is used to describe anyone who dresses as the opposite sex for any reason (e.g. Joan of Arc, Marlene Dietrich, Eddie Izzard). More specifically it is intended to emphasize that cross-dressers are not homosexual, but are in fact largely heterosexual, and that cross-dressing is, for the male to female cross-dresser, more about expressing “an inner feminine” and feeling like a woman, often with the intention of being mistaken for one.