Перехватите событие MouseDown, проверьте его методом HitTest, по которому пользователь щелкнул. Если пользователь щелкнул заголовок столбца, установите «Cursor.Current = Cursors.Wait» и установите для некоторого флага «isSorting» значение true.
Перехватите событие «MouseUp», проверьте, если флаг «isSorting» имеет значение true, затем установите «Cursor.Current = Cursors.Default».
EDIT:
Используйте событие «Sorted» вместо «MouseUp».
«MouseUp» является функциональным, но «Sorted» - более «чистое» решение.