In what way is the piston engine inferior to a steamer? While continuous combustion has definite advantages over pulsed combustion, a steam engine is limited by the ability to transfer heat into the steam.
An approach I'd like to see used would be to combine the concepts of internal- and external-combustion engines by having an engine where fuel and air are pumped into a combustion chamber and the combustion products power a piston engine (which in turn powers the pumps). I would think that there would be a potential for quite reasonable efficiency in such a system (this principle, btw, is how turbine jet engines work).
However a gasoline internal combustion piston engine has the following drawbacks: