Не вижу смысла избавляться от jQuery, смысл ангуляра не в манипуляции DOM.
Но если хочется то просто напиши sortable.
1) делаешь обьекты перемещаемыми
2) Когда начнешь перемещать то создай div с именем placeholder
2) в процессе перемещения ищи под мышью элементы, ( если навел на placeholder ничего неделай)
3) если находишь под мышью элемент бери placeholder и вставляй перед найденный обьектом
4) как только отпустили мышь, замени placeholder перетаскиваемым элементом
Enjoy !
Перемешать placeholder и заменять его, будешь нативыми функциями (angular тебе здесь не помошник)
Более продвинутые версии.
1 вариант ) при наведении на один из sortable элементов требует определять выше середины или ниже стоит мышь. Если выше то placeholder ставится сверху, если ниже то снизу.
2 вариант) Определять вектор движении мыши и ставить placeholder по направлению движения. Если мышь ведут вверх то placeholder сверху, если ведут вниз то placeholder ставится снизу.
Я могу перепутать но по моему 2й способ используют обычно.