Do use CDATA nodes, but only work on XML with an actual XML DOM library instead of string manipulation. Browsers have these built-in (DOMParser).
Whether it's efficient is a far second to whether it successfully imports the data.
Looking at you, WP All Import...
I recently became aware of RSS stylesheets. Apparently there is a specification for that called XSLT which is distinct from CSS in both form and function. However, there are plans by Google/Mozilla to remove XSLT from their browser engines for security/maintainability reasons. Apparently RSS supports javascript though, so it's possible to manipulate the RSS DOM that way. One could imagine a javascript polyfill that interprets XSLT, although I'm not sure if there's some cross-site security issues that would make that impractical.
I've found CDATA invaluable, because I can just copy and paste the content from the HTML file to the XML file. I've never used the CDATA terminator characters in a blog post, so that's a non-problem.
The content of that notorious discussion went on and off and on and off for weeks, giving all the netizens of the RSS community blogosphere terrible headaches, with people's entire blogs disappearing and reappearing every second, until it finally reached a flashing point, when Dave Winer humbly conceded that it wasn't the user's fault for being an idiot, and maybe just maybe there was tiny teeny little design flaw in RSS, and it wasn't actually such a great idea to allow HTML tags in RSS titles.
I Wanna Be <![CDATA[
Sung to the tune of “I Wanna Be Sedated”, with apologies to The Ramones.
Twenty-twenty-twenty four escapes to go, I wanna be <![CDATA[
Nothin’ to markup and no where to quo-o-ote, I wanna be <![CDATA[
Just get me through the parser, put me in a node
Hurry hurry hurry before I go inline
I can’t control my syntax, I can’t control my name
Oh no no no no no
Twenty-twenty-twenty four escapes to go….
Just put me in a stylesheet, get me in a namespace
Hurry hurry hurry before I go inline
I can’t control my syntax, I can’t control my name
Oh no no no no no
Twenty-twenty-twenty four escapes to go, I wanna be <![CDATA[
Nothin’ to markup and no where to quo-o-ote, I wanna be <![CDATA[
Just get me through the parser, put me in a node
Hurry hurry hurry before I go loco
I can’t control my syntax I can’t control my name
Oh no no no no no
Twenty-twenty-twenty escapaes to go…
Just get me through the parser…
Ba-ba-bamp-ba ba-ba-ba-bamp-ba I wanna be <![CDATA[
Ba-ba-bamp-ba ba-ba-ba-bamp-ba I wanna be <![CDATA[
Ba-ba-bamp-ba ba-ba-ba-bamp-ba I wanna be <![CDATA[
Ba-ba-bamp-ba ba-ba-ba-bamp-ba I wanna be <![CDATA[