Так по философии qml и не нужно плодить, наоборот он адаптирован под максимальное переиспользование кода.
Делаем компонент Switcher.qml. В нем в рутовый элемент выносим property:
Item {
id: rootSwitcherElement
property string color: "green"
Rectange {
//...
color: rootSwitcherElement.color
}
}
Затем используем его где-то:
Switcher {
id: switcher
color: "red"
}
По умолчанию будет использовано значение из Switcher.qml, то есть если не указать color: "red", то цвет будет зеленым. Если указать - тем, который укажете. Property binding так же будет работать.
И никаких циклов и прочих велосипедов)