I have never used BTP because they don't offer a trial of any kind, and as a result they won't be getting any business from me until they change that, especially since those who DO use it don't report that it's light years better than the rest or anything...
I really liked ProMash until it fell deeper and deeper behind the curve of updates. Found a few bugs in it and started using BeerSmith. At the time I was strictly doing extract and I think PM is stronger with respect to the AG calcs.
ProMash is great but, it's been 5 years since the last update and it doesn;t look like a revision will be out soon. Maybe when things improve with Sausolito i'll go back.
Considering that BeerSmith received a major update only a few months ago and that incorporated more user requested new functions than bug fixes. I think I'll stick with BeerSmith and would fully recommend it.
I was basically happy with beersmith during my brief use of it (this was before the last update) and for some reason I decided to give the up and coming BTP a shot sight unseen. After getting over the learning curve, it worked well for me despite a few shortcomings that are being addressed in the upcoming 1.5 release. Now that I'm much more versed in all grain technique/process than I was when first trialing beersmith, I don't have a good feel for which is better. I haven't seen a side by side comparison list of features supported/not supported for each package. One thing is for sure, BTP's interface is pretty.
One thing to consider, if all of the big three are basically the same in functionality, I'd go with BS first because it looks better than promash and has more users than BTP.
I've used Beersmith and like it, however, I just tried the Java app and am impressed with it. Not quite as nice as I'd like, but very full featured and free too. And, it runs off my memory stick, so I can take it anywhere I happen to be.