Hi, I tried this weeek to work with my first real assembly on FreeCAD.
My first try was to make every part as a separated file, as I usual do with other CADs, then I make a new empty part and merge (File/Merge Project...) the components. I work a little, find a way to posicionate (Edit/Placement... or Edit/Alignement...) the components, even create new components directly in this new model. The problems that I found for this approach (that I could call it "multibody modeling") is that every component must be duplicated (including history), and in case that you need to update it, all operations must be repeated in each copy. Another thing that I fear was that the file could increase the size and complexity, and if something goes wrong, all the componentes could be lost.
So I install the Assembly2 workbench. Happily I was able to make a several copys of my old multibody assembly, then clean it leaving only one body/part in each copy (so saving the history). Then make a new empty file and with the Assembly2 could load and positionate all the components... but was not so easy at first! I discover that using the navigation style OpenInventor cause a lot of problems (basically multiple copies of each components when I try to move it, and others that I don't remember now). Using the navigation style to CAD solve a lot of problems (even in Sketch wb). After that there were some problems with the restrictions as well, not all work as should do for a simple assembly (for example I have a fixed component with two holes, then two components (columns) in this holes, and a fourth component that is a plate with two holes that should fit and slide in this columns. Have tried the classic way using two coaxial restriction but no way to make it work... then I use only one coaxial and block the rotation). Another issue that I had was that i was unable to update my first modified component... save the assembly, open/close FreeCAD, reboot the machine, but no way to update. Then I modify and try to update another component... it works!. Back to the first and then it works, but I swear that the procedure was the same and still don't understand why it doesnt work at the first.
So, my advices...
1) Use Assembly2 wb
2) Use CAD navigation style
3) Keep constrains as simple as you can
4) Make a backup