I encountered a very strange problem when saving my first site template recently. I was very surprised when this basic function of Sharepoint 2010 failed so early in my implementation. Sifting through the ULS and Correlation IDs I found that Sharepoint was complaining about an invalid content type name which contain illegal characters i.e. %: etc.
After some scratching I found that the bad apple was Reporting Services and the content types it installs. On my base site collection (not even my BI site collection) I found 3 new content types under the “$Resources:ReportServerResources,ReportServerContentTypeGroup;” group which contained the illegal characters. Very strange as these content types are developed and deployed by Microsoft.
Either way, easy fix, just rename the content types to be the same as in 2007 (see screenshot below):