You can create roofs on NURB (Non-Uniform Rational B-spline) surfaces in generic model or mass families.
When you are creating a generic model or mass family, you can import a DWG or SAT file containing NURB surfaces. After saving the family, use the Roof by Face tool to place a roof on the NURB surfaces.
Roof created on NURB surface
Note: Use open geometry in generic model families rather than mass families. This applies to isolated NURB surfaces, as shown above, as well as other open geometry. For optimal performance in a mass instance, use only geometry that can be recognized by Revit as oriented 3D geometry. Open geometry in a mass instance can slow processing and generate warnings, but it will provide no additional capabilities beyond those available in the generic model family.