Я не знаю, работает ли текущий код, но вот более организованная версия.
const scroller={
speed: 10,
sensitivity: 10,
container: document.getElementById("scrollContainer"),
rect: scroller.container.getBoundingClientRect(),
interval: null,
offsetX: 0,
offsetY: 0
};
scroller.container.addEventListener("touchmove",function(e){
clearInterval(scroller.interval);
scroller.interval = null; // May not be needed
// pointer offset
scroller.offsetX = e.targetTouches[0].pageX;
scroller.offsetY = e.targetTouches[0].pageY;
// the container should scroll
// pointer is over right / left edge of a scroller.container
if((scroller.rect.width+scroller.rect.left-scroller.offsetX<=scroller.sensitivity)&&(scroller.offsetY>scroller.rect.top))scroller.interval=setInterval(()=>{scroller.container.scrollLeft+=scroller.speed;},10);
if((scroller.offsetX-scroller.rect.left<=scroller.sensitivity)&&(scroller.offsetY>scroller.rect.top))scroller.interval=setInterval(()=>{scroller.container.scrollLeft-=scroller.speed;},10);
});