You can kill the pull and bounce effects pretty easily with this:
scroller.mx_internal::bounceEnabled = false;
scroller.mx_internal::pullEnabled = false;
I do not think you can prevent the user from scrolling past the edges very easily though. It looks like you'll want to extend Scroller and override the method:
mx_internal function performDrag(dragX:Number, dragY:Number):void
Let the super.performDrag() run and then check to see if viewport.horizontalScrollPosition or viewport.verticalScrollPosition are out of bounds (< 0 or > (height/width - contentWidth/Height)).