Анимацию надо делать через requestAnimationFrame, а не через setInterval.
$(".dragscroll div.item.move").each(async function () {
Что у вас асинхронного в этой функции?
И я бы отказался от jquery. Он способствует неэффективному коду. Каждый раз писать $(this) вроде не трудно. Но это вызов функции. Каждый раз. Которая возвращает один и тот же результат. Зачем?
Почему не вызвать один раз и запомнить в переменную?
А еще эффективнее делать на чистом js.
Неужели
$(this).css("left")
сильно проще писать, чем
this.style.left
?
А
style = { "left": left + randomw + "px" };
$(this).css(style);
style = { "top": top + randomh + "px" };
$(this).css(style);
лучше, чем
this.style.left = `${left+rendomw}px`;
this.style.top = `${top+rendomh}px`;
И работает быстрее, что не маловажно при анимации, особенно, когда будете считать геометрию.