I personally use Rhino. It's not great for actual assemblies, but it's very easy to build the solid models for various parts. Since it doesn't have constraints, when it comes time to assemble things, you need to put on your big boy pants and start doing things like changing the construction plane to appropriate surfaces, and really learning how to use some of the more advanced features. But if you can do that, it's not a bad program for this kind of thing.
I keep looking for something else...haven't found it yet. Rhino is best overall for me right now. That will change when I need to start doing sheet metal. I tried Geomagic (formerly Alibre). Honestly, I wasn't particularly impressed. I want something where I can model my parts (or parts of parts) in Rhino, and then suck them into a parametric modeller with constraints to actually assemble the parts into something that I can work with.
I'm really spoiled with Rhino's interface. Everyone should follow their example of what a clean, powerful interface is like. I'm terrified that they will completely screw it up in the next version in order to comply with Microsoft's garbage UI initiatives.