You really need to define the engine type and the materials used in the bore and piston.
For bronze / gun metal type cylinders and pistons in steam engines, where the pressure load works on both sides of the ring, graphite is quite forgiving towards surface finish and, to a degree, self lubricating over the working temperature range. Some leakage past the ring in a double acting model steam engine doesn’t seem to me to be too critical as to need an O ring, which I reserve for installations such as boiler feed pumps where the delta t is quite small and leakage is to be avoided.
In small IC engines with cast iron bores and steel pistons I have only used split cast iron rings working in a honed bore because of the high max surface speed.
In stirling engines, where the internal friction has to be very low I have never used rings of any sort but used PTFE or graphite pistons.
Horses for courses?
Tony M