Предполагая, что вы контролируете начало перетаскивания (вы не перетаскиваете из другого приложения), вам решать, какой тип. Просто сделайте исходный и целевой код совпадения. При перетаскивании (обычно это обработчик MouseMove или MouseDown):
var dragData = new DataObject(typeof(JobViewModel), job);
DragDrop.DoDragDrop(element, dragData, DragDropEffects.Move);
Начинает перетаскивание. И затем в капле (кажется, что вы получили это далеко):
var dataObj = e.Data as DataObject;
var dragged = dataObj.GetData(typeof(JobViewModel)) as JobViewModel;
Вы также можете использовать строку вместо типа.