Will -
This is a topic near and dear to my heart.
For years I used Excel, with spreadsheets of ever-increasing size and complexity. About 5 years ago I bought into a program called Planswift and spent about 2 years modifying and customizing it until it did what I wanted. Unfortunately, it's not really in any condition that i could hand it off to someone and let them run it. More like the custom car that you have to pump the gas 3 times, hit the brake, pump the gas again, then turn the key to get it to turn over. Also, it's a 12 year old program that will likely not be updated ever again.
I'm evaluating moving over to a program called Square, which is being run by expats from Planswift. It has a lot more potential for scalability, but I'll have to start over on building assemblies, inputting parts, and generating useful reports for ordering and quotation presentation. I found them a few years ago at the build show and met with them again this year; the program has really come a long way and is looking like it could finally be a viable alternative. To wit - 84 Lumber recently switched from Planswift to Square.
Other programs that are commonly used are Timberline, RS Means, and Xactimate. These programs are extremely expensive to implement are commonly aren't see outside of insurance claims and industrial/commercial applications (Think skyscrapers for Timberline)
The problem with all forms of on-screen estimating is -
1: Setting up the program so that it is accurate to your business and the way you do things (Assemblies, parts, labor)
2: Getting reports that are useful (For ordering and quotation)
3: Getting pricing information inputted
4: Actually having a system easy enough to use that someone doesn't have to spend 4 years learning it
It's so very easy to underestimate the difficulty in setting up a system. When you really think about how many parts are used in a typical house, it's mind-boggling. Depending on what you control, it can really be a challenge to get things set up for accuracy. Out of the box, most on-screen estimating programs are basically just measuring tools. You have to customize them in order to make them do something useful.
For project management we run Buildertrend. Been using it for about 10 years now and am so thoroughly tied in at the hip that I couldn't imagine not using it.