No, you can't override a template in xsl, and that's why you have this error.
You will need another mechanism, like setting a xsl:variable that specify if a theme should be used, and use an xsl:choose construction to do a call template.
But doing this, you loose the flexibility of apply-templates.
Another solution, that I retained when I did this: http://www.quixml.org, is to have separate folder with a set of xsl style sheets, and having a theme variable that switch the source folder of the xsl stylesheets.
It's what I've called "rendering sets", in my quixml class.