Since you had to set the header when using PHP, it's a safe bet that Apache won't do it on its own. After all, Apache is the intermediary between browsers and PHP scripts.
You can set MIME types within cPanel, but not conditionally. To do that, editing .htaccess is the way to go. AddType is what cPanel uses under the hood; it can only unconditionally set the content type. To conditionally set the Content-type header, you might be able to make use of: SetEnvIf, RewriteCond+RewriteRule, Header. Try something like:
Code:
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
RewriteCond %{REQUEST_FILENAME} \.x?html$
RewriteRule . - [E=XHTML:1]
Header set Content-type "application/xhtml+xml" env=XHTML
While you're at it, begin to familiarize yourself with the rest of the Apache module documentation, which explains the various Apache configuration options, and which can be used in .htaccess.