A question often heard is when to use rdf:type and when a Classification template.
Similarly when to use rdfs:subClassOf and when a Specialization template.
The rule is: When it is certain that it will never change, use rdf:type or rdfs:SubClassOf.
When not, use templates.
The reason for this is that, when you stick to ISO 15926-7/8 all declarations are made for life, and aren't supposed to change, ever.
Taxonomies of Reference classes in the RDL are built using rdfs:subClassOf throughout.
Your lifecycle nformation, however, often is subjected to change. It is recommended to use templates throughout for your information about the declared objects. That makes your triple store more predictable, which helps with defining queries.
Technically it is possible to change declarations, but that shall, in exceptional cases, be done by the System Engineer only.