I can't afford Solidworks. I keep dreaming of having the money but I can buy a lot of real equipment for that price. So I've used free 2d cad and Blender for printer modeling. Recently I've been using the nightly builds of Freecad. The UI is a freaking mess as you have already mentioned however the functionality is finally breaking the barrier of usability in the upcoming 0.15 release. The bugs that you mention are appearing less and less, and at least the backend is becoming more stable.
I did a single beginner tutorial a couple years ago that has been viewed more than a few times on youtube and am working steadily on a small series that I hope to release prior to or adjacent to the release of the 0.15 final (maybe it will be 0.16 when done?).
Currently my main focus is how to show a usable tutorial to explain hierarchy in FreeCAD, how to create a complex parent/child object, and how to use edges and vertices to create unlinked objects. While maintaining a structure that will be comprehensible enough so that a user can modify it throughout it's creation.
Anyway, don't give up on it just yet. It may take a few years before anyone gets around to fixing the UI, but the basic functions should be there very soon.