Hey, good thread
I use Prototype primarily, but that's mainly due to the fact that that's what I came accross first and it has pretty much eveyrthing I need.
However, I am, by heart, a OO programmer and one of the downsides to Prototype is its lack of OOP support. For this reason I have used (in conjunction with Prototype) a nifty little Base class script created by Dean Edwards. This script allows the overriding of base methods from child class', which is a great plus for large class based scripts. Anyway, you can get a copy here
http://dean.edwards.name/my/ if you'd like to give it a try.
Previous to Prototype, I used to use a "grab bag" of functions from a book I read, which, while useful, didn't provide the flexibility and easy of use that Prototype offers.
Karl