Наваял по-быстрому
Код подействует при условиях:
- нужно 2 панорамы которые находятся друг к другу впритык;
- "шов" этих двух панорам должен быть по центру MovieClip, в котором находится
- высота панорамы == высоте кадра;
код в кадр:

Код AS1/AS2:
panorama.onPress = function() {
startDrag(this);
};
panorama.onRelease = function() {
panorama._y = _root._height/2; // панорама всегда центрирована по вертикали
stopDrag();
};
panorama.onReleaseOutside = panorama.onRelease;
this.onEnterFrame = function() {
panorama._y = _root._height/2;
//если панорама достигает предела с правой стороны...
if (panorama._x<-panorama._width/2+_root.width ) {
panorama._x = _root._width; // ...ставим ее центр (шов) в конец координаты х
}
//если панорама достигает предела с левой стороны...
if (panorama._x>panorama._width/2) {
panorama._x = 0; // ... ставим ее центр (шов) в начало координаты х
}
};
проблема кода - можно на 1 долю секунды перетащить панораму по _у, но с этим разобраться грамотно не было времени, может кто подхватит
Есть конечно вариант без скроллинга с помощью нажатия и перетаскивания, но просили именно с перетаскиванием, но вот, на всякий случай:

Код AS1/AS2:
this.onEnterFrame = function() {
// у меня ширина кадра 500
// если мышь находится в правой стороне экрана...
if (_xmouse>250) {
panorama._x -= (_xmouse -250)/15; // ...скроллим панораму вправо
}
// если мышь находится в левой стороне экрана...
if (_xmouse<250) {
panorama._x += (250 -_xmouse)/15;// ...скроллим панораму влево
}
//если панорама достигает предела с правой стороны...
if (panorama._x<-panorama._width/2+_root.width ) {
panorama._x = _root._width; // ...ставим ее центр (шов) в конец координаты х
}
//если панорама достигает предела с левой стороны...
if (panorama._x>panorama._width/2) {
panorama._x = 0; // ... ставим ее центр (шов) в начало координаты х
}
};