Ze client, she does not like this.
I've got a working implementation over in https://github.com/sproutcore/sproutcore/tree/team/dcporter/scrollfade - no unit tests though.
I'm not 100% sure about the implementation. (About 85% sure.) What I did was add some properties to SC.ScrollView (verticalFade, horizontalFade, fadeInDuration, fadeDelay, and fadeOutDuration), and added some private methods to it wrangle things. The fading is accomplished with a simple .animate('opacity') on the entire scroller view.
This-all only happens if the scroll view's overlay properties are set to true, and fading is now the default behavior for all overlaid scrollbars.
The scroller fades out when it hasn't moved in a tenth of a second (fadeDelay); it stays visible for the duration of a touch-scroll. I guess it fades out if you do a click-and-drag scroll, so that will have to be addressed.
Duplicated with actual code attached on #860