We design products, and typically hand the 3D part data to toolmakers. However, I've just spent a few days modeling the main tooling blocks for a particularly complex part in Pro/Engineer. Not the tool proper with ejector pins and springs and so on, but the main pieces of metal that generate the part with all the split surfaces, slides and lifters. It looks beautiful, and helped us catch a couple of problems. Since I helped design the part, it's easy for me to decide on the right compromise where it was needed. Having generated this tooling data in 3D, I now can't imagine how a toolmaker could do it any other way.
In case you're interested, and familiar with Pro/E - I used Pro/E as a surface modeler to built the parting line surfs around the part, and then gathering the resultant quilts into seperate part files to stitch together as solids, last thing. These solids are now ready to turn into proper tool parts with the inclusion of the correct shrinkage and all the additional tooling accessories and features. This last part doesn't really need to be done in a 3D package, but having gone this far, you might as well. It's great to be able to see how complex cooling holes, for instance, interfere with other tooling elements.
How do you do this at your shop? What software do you use? Is anybody out there using Pro/E and Pro/Manufacture to program your mills? Any other solid modeling products being used?