Is there software that can take a solid model, e.g. in STEP format, and generate gcode that includes arc/curve commands (G2, G3, G5) when possible?
I have been looking at this also. But I can't find a STEP to GCODE software. So the answer to your question is no, not that I'm aware of.
Using STL files, which are approximations of the actual model using triangular shapes, slicers will generate GCODE not including arc codes. I understand that either the printer controller should take care of creating the arc gcode by reading multiple lines in advance and calculate if certain consecutive "straight gcodes" could be replaced by "arc gcodes" or the generated gcode file needs to be pre-processed off-line by separate software, or post processing scripts of slicers.
With respect to reading multiple lines in advance, the 8-bit controller boards are not powerful enough to do all these extra calculations as the different firmwares already utilize the full potential of these boards.