After every change of a Family Symbol for any given FamilyInstance, the Revit model does a regeneration – even if the regeneration is not explicitly called. This can slow down the process of updating the model.
This regeneration of the symbol after it has been changed is triggered by the product and not the API, and so there isn’t much the API can do to prevent this unfortunately. Having said that, Revit API exposes a method called Element.ChangeTypeId(Document, ICollection<ElementId>), ElementId) which changes the type of all elements in the given set. Using this API should help avoid the regeneration after each and every change of element type (symbol) and have the model regenerated only once.