Можно делать через сложные формулы смешения цветов, но я не умею в математику и поэтому в вашем случае делала бы это через наложение начального и конечного цветов, а также анимацию уменьшения/увелечения прозрачности.
Опасити легко анимировать от 0 до 1, а визуально такой переход не отличается от стандартной анимации цвета в CSS:
https://jsfiddle.net/ce4vno1g/
Достаточно будет менять прозрачность следующего/предыдущего фона в зависимости от прогресса перетаскивания + delay: