I found these recommendations for handling parameters at the top-level of models for Dymola:
Handling of Modelica Model's Parameters
Would these also be best-practice recommendations for the System Modeler or are there notable deviations?
SystemModeler has good support for 1 & 2, you can set deep modifiers using the component mode (double-click on a component i the class, select a component and set parameters using the regular views), there is also GUI support for lifting parameters (see screenshot).
For option three, there is GUI support for doing the redeclaration, but not for setting parameters in the redeclared class. So those would have to be done in text view or by creating specific classes with the parameterization that you want.