So I want to drag an object from one source to multiple potential destinations. When the object is over each destination, I want it to 'morph' into a different image. Is there a straightforward way to do this from the NSDragSource perspective?
There's no way to do this using just the drag source APIs.
If you look at Interface Builder it does something similar to what you want. When you drag a button out of the library the button animates in the middle of the drag.
According to most people the way Apple is doing this is by making the drag image a small transparent image. Then they create a Window and have it follow the mouse. You can then use the window to do any type of animation you want.