Changing multiple materials at the same time

I’m sure this particular function has a name, but I don’t know what it is so I’m describing it instead.
I have a model with a bunch of different materials. I want to create variations of this model with different materials, for example one that looks worn out, and one with a different color scheme. I don’t want to duplicate the model and apply different materials since I’m still making changes to it. How do I swap one set of materials with another?

What I’m doing now is this: I setup a shader with several setups contained within it. When I want to swap one material with another I detach one setup from the “material output” node and attach a different one. I go from one material to the next swapping these connections. In a slightly better scenario where I only have 2 variations, I create a mix shader with the 2 materials as inputs, and just change its fac value between 0 and 1 when I want to change from one material to another.

I’m sure there’s better way of doing this… Any help would be appreciated.