I would always use :GetPivot(). Like you said there is no need to get the parts in the code to reference the CFrame value, and there is also no need for getting the PrimaryPart, checking if the model even has a PrimaryPart to find the part which stores the CFrame, and no need to wait for parts to load in. Especially with having StreamingEnabled on and having it set to nonatomic, models will load in without some of their parts; its important to be able to reference the CFrame without guarentee of parts even being there in the first place.
I think most people use the HumanoidRootPart or other PrimaryParts of models for CFrames nowadays mainly because that was the most reliable way previously. :GetPivot() is a newer method, so people know less about it or have seen less tutorials / code online with it.