<p>Is there a runtime performance penalty when using interfaces (abstract base classes) in C++?</p>

There is a small penalty per virtual function call compared to a regular call. You are unlikely to observe a difference unless you are doing hundreds of thousands of calls per second, and the price is often worth paying for added code clarity anyway.