There is a workaround now that you can use to keep your true curves using arcpy. While it is true that arcpy.Geometry() objects do not support true curves, you can still work with them in arcpy. When the REST API started supporting true curves, some of the tools that handle JSON formats (arcpy.AsShape, arcpy.FeatureSet, etc) will automatically handle the curves for you. To do any sort of modifications to the curves, you would need to figure out the math and handle it in the JSON structure. Here is a quick test showing getting a single curved line to a geometry object (with a bezier curve and arc):
esri_json = {
"curvePaths":
[
[[6,3],[5,3],
{
"b":[
[3,2],[6,1],[2,4]
]
},
[1,2],
{
"a":[
[0,2],[0,3],0,0,2.094395102393195,1.83,0.33333333
]
}
]
],
"spatialReference": {"wkid":26915}
}
curve_line = arcpy.AsShape(esri_json, True)
arcpy.env.addOutputsToMap = True
arcpy.management.CopyFeatures([curve_line], r'in_memory\test')
The line looked like this:
The esri json structure for cuves is described in the Geometry objects in the REST API docs. You can see that the geometry can be retrieved with true curves by calling the JSON property:
>>> print curve_line.JSON
{"curvePaths":[[[6,3],[5,3],{"b":[[3,2],[6,1],[2,4]]},[1,2],{"a":[[0,2],[0,3],0,0,2.0943951023931948,1.7761476679542356,0.32243301481209313]}]],"spatialReference":{"wkid":26915,"latestWkid":26915}}