If you're finding that material-ui's Table isn't quite meeting your needs, it may be worth exploring other options such as infinite-scrolling components like react-infinite or react-list.
However, I did some experimentation and came up with a different approach for intercepting the scroll event within material-ui's TableBody.
Start by obtaining a reference to the scrollable div containing your table's body (in this case, its grandparent element):
<Table height={200}>
...
<TableBody
ref={ref => { this.viewport = ReactDOM.findDOMNode(ref).parentNode.parentNode; } }>
...
Then, in the componentDidMount() function, add an event listener to the scrollable div for the onscroll event:
componentDidMount() {
this.viewport.addEventListener('scroll', (e) => {
console.log(e);
});
}