I don't have any experience with the solid_model entity and don't know of any implementations of it either.
What type of solid bodies are you transferring and what software is going to read them?
My comments are based on how geometry is modeled in IFC. In IFC, shapes are either extrusions or brep. Extrusions are typically modeled with IfcExtrudedAreaSolid. The equivalent CIS/2 entity would be extruded_area_solid. Most extrusions are straight. Brep is modeled with IfcFacetedBrep and the equivalent CIS/2 entity would be manifold_solid_brep.
IFC does not consider brep to be a solid model, just a surface representation. For the purposes of the IFC Coordination View, extrusions are required. So, in terms of what is best, swept_face_solid might be the way to go.
Boolean operations are allowed with both CIS/2 and IFC, so the openings and voids could be modeled that way. IFC does have a specific opening element to model openings for doors and windows. The intention is that the opening and what they're applied to are extrusions.
Of course brep can model anything.
---
Robert Lipman
http://www.nist.gov/el/building_environment/cibp/steelvis.cfm