Ja, z.B.
Die Oberklasse wäre dann UserControl (hier das Interface IMyItem), folglich kannst du mit
UserControl c1 = Activator.CreateInstance<testcontrol>();
bspw. eine Instanz für die Klasse testcontrol erstellen.
Das bietet sich vor allem an, wenn es mehrere Abhängigkeiten sind.
Du hattest in deinem Beispiel nähmlich nur eine Switchanweisung, was ist aber wenn es von verschiedenen Variablen abhängt, so dass die Klassen später mal testcontrol1_2_5_75_67_5678_irgendwas heißen?!
Mit dem Activator kannst du dir halt anhand von irgendwelchen Einstellungen einen Namen zusammenfriemeln (lassen) und brauchst dann nur noch die Funktion aufrufen.
Aber wie gesagt, man muss abwägen, ob das für die Anwendung sinnvoll ist.