A big part of why it isn't done is because it isn't easy to implement consistently cross browser. There are solutions, as others pointed out (on GD.SE).
However, I personally think it is a very bad design decision for UX.
The scroll bar is part of the browser, not the content. This is why it is hard to implement a cross browser solution, because all browsers are different. If a website changed the color of my browsers UI, or decided to move the address bar to the bottom of the window, the first thing I would do is close my browser and probably never visit that site again. Obviously thats an extreme example but it makes my point - the scroll bars are part of the browser, not your website. Scroll bars are different across browsers, OS's and devices, and that's what users expect. Unless there's a solid design reason to do it, don't change that expectation.
That being said, there may be good reasons for implementing a custom scroll bar. There may be a small subsection of a page that scrolls that needs attention brought to the fact that it scrolls, that could be done with a custom scroll bar. A web app that, although being used in a browser, more resembles software UI may benefit from custom scroll bars.
But in short, without a solid design reason for doing so - don't do it.