How can stop my customers from swapping products in their subscriptions?
By default, swapping is available to all customers who have access to manage their subscriptions in the customer portal. The only way to prevent swapping would be to remove access to the customer portal.