What is the DocumentRoot for the domains? This is a DNS problem, too, not a mod_rewrite problem.
Once you get to the point that sites 2 & 3 are “parked” on site 1, then use DirectoryIndex for that!
Finally, when you need to use mod_rewrite, PLEASE use proper code, i.e., the redirection should specify a path within your “webspace,” NOT a physical path on your system.
Yes, use an include() statement within your scripts. You cannot use one file for domains which are located in mutually exclusive paths, i.e., not in a single “webspace.”
You’ve just merged site2 and site3 on top of mainsite. cPanel calls that “parked” domains. I don’t believe that’s what you’re trying to do, though, is it? If so, just go back and redefine the DocumentRoot for all three domains to be co-located and the problem is solved.