AFAIK, No.
Yes, you could probably use a combination of InputBegan
/InputChanged
(they are available as events on the ScrollingFrame directly, no UserInputSevice necessary) and CanvasPosition although I’m not too sure how to implement this myself to override the default behavior.
But there is this: SmoothScroll Module [Superseded by Roblox Update 421]