All features are available via the Python interface, so you don’t need to switch to C++ if you don’t want to. It is possible that in some cases we missed wrapping some structures into Python-compatible types - if you find one then let us know and we’ll fix it.
You can see how conversion is done with custom conversion path in the icdr GUI: Slicer/qMRMLSegmentationConversionParametersWidget.cxx at master · Slicer/Slicer · GitHub
There are some related Python code snippets that you may find useful.