VAT is paid according to the destination principle, which means that VAT is to be paid in the region where the goods in consumed. Within the European Union, the union is considered to be the same region. As such, we pay the VAT that applies in the country where we buy. As such, we can pay different VAT rates, depending on what country we buy from. If we import from another region, such as the US, we are responsible to pay VAT in our region, when the product enters the EU. Likewise, if you buy from EU to the US, you don't pay EU VAT, but you declare VAT when you import.
Switzerland is not part of the EU, but might be part of different VAT regions and collaborations. This is, however, where my knowledge stops.
That's partly right. What I know from my e-commerce background: Currently it depends on your revenue in the specific country where you have to pay VAT. If you make more revenue than € X (I think 20-25k €), the retailer has to pay VAT in this country. But there is a new law (decided but not executed yet) that whatever the revenue in a country is, the retailer has always to pay the VAT in the country where he ships to. So it gets more complex.
Example from e-commerce:
Company located in Germany
Revenue Germany = 100k -> German VAT
Revenue Austria = 50k -> Austrian VAT
Revenue Italy = 30k -> Italian VAT
Revenue Netherlands = 1k -> German VAT
So this topic is quite complex as you need to have knowledge in each country you sell to. With the new law it often makes no sense to sell in a country as you have additional work for a small revenue but I think each country tries to setup a platform to make it easier.
VAT topics are fun