Is there any way to switch domains on cPanel
i want parked domain to be main domain and main be parked
This is not possible with cPanel access only. It would require root level WHM access to the machine to change the domains around.
To do this, you would need to remove the parked domain in cPanel > Parked Domains area first, then go to WHM > Modify an Account and change the main domain to the parked domain name. After that, you would then go to cPanel > Parked Domains and put the main domain as a parked domain.
If you have any issues adding the main domain as a parked domain at that point, try to park it on the account using WHM instead in WHM > Park a Domain area.
Also, if the domains have any special DNS settings, be sure to make note of them. I just did this switch, and the original domain had it's own MX records, and that DNS record gets dropped. Then, when you add the old, original name as a parked domain, a fresh DNS record is created, without any custom settings.