Great question!
The Abhidhamma has the following to say about that.
Desire - Chanda
Chanda means the desire to act, that is, to perform an action or achieve some result.
Chanda is ethically variable, meaning that the factors coming along with chanda determine whether it is unwholesome or not.
So, the characteristic of chanda is the desire to act; it's function is searching for an object; its manifestation is need for an object and the same object is its proximate cause.
It should be regarded as the stretching forth of the mind's hand towards the object.
Which is, btw, something one can clearly observe in meditation.
Chanda is a bit of a general thing. It doesn't really have the need for a specific object, as long as there is an object.
Craving - Tanha
Tanha is much more interesting. :)
In the sixth chapter of the Abhidhamma, the Rupasangaha, craving is described as entanglement.
[Nibbana] becomes an object to the paths and fruits, and is called Nibbana because it is departure from craving, which is an entanglement.
Given this description the difference with chanda becomes a bit more clear. The experience of a-wish-to-act and being-entangled is different.
Another thing that is of interest is this, also from the Abhidhamma:
Herein, among the taints, etc.' it is craving that is intended by the terms "sensual desire" and "(attachment to) existence," since it has them (i.e. sensuality and existence) as its basis."
Sensual desire has sensuality as its basis. And (attachment to) existence has existence as its basis.
In dependent origination tanha is dependent on feeling (pleasant, unpleasant and neutral).
Last I heard a dhammatalk which might be of interest to you wherein the bhikkhu cites a sutta saying: "It's in craving for sights that craving arises ...."
So, these are all kind of specific, imho. Not as general as chanda.
Hope this helps a bit.