Is it possible to add different theme for Header and different theme for body / main content..? In SXA, it is allowed to do it but in Header partial view using Experience editor and shows that theme in the partial view but when comes to the complete Page view, Main site theme overrides the Header theme.
No, this is not possible. But you can try to mimic this behaviour by:
having three themes - header, body and footer
each of the above themes will target different root CSS elements like
one main theme which you will assign to the page and which will inherit from the above three
Thanks to such a trick you will have the logical separation you want.