FreeCAD's architecture that combines history based modeling with inferior kernel (Open CASCADE) is about the worst choice from a reliability standpoint.
The best kernel, Parasolid, only started to get good when mainstream Unigraphics went history based parametric in 1992. The reason is that all of sudden Parasolid has to be able to correctly rebuild every model ever made in Unigraphics, SolidEdge and SOLIDWORKS - including bug-for-bug compatibility. That's an extremely hostile evolutionary environment, and to survive Parasolid had to get extremely good.
OpenCASCADE in contrast only has to replay FreeCAD models, and there are modulo zero of those, and actually zero paying customers.
SpaceClaim has things the right way round to built a reliable CAD system: direct modeling X still v good b-rep kernel (ACIS).
Free/open source doesn't have a good curved surface kernel.
To build one is difficult. Every time you add a new surface or curve type, then case analysis for the intersection algorithms goes up with the square, so the key is to limit severely the number of surface types. One though I had was to just use Dupin cyclides (which covers the quadrics) and approximate everything else with cyclide sheets. There are some architectural CAD papers on these.
Disclaimer: Parasolid dev 1989-1995.
Edit: maybe that's what Solvespace does - limit to just NURB surfaces? Way to go! The Dupin cyclide approach would have to approximate NURBS with cyclide sheets, but the intersection algorithms could be easier to implement because they are implicit quartic surfaces.