Great description on what to do. This afflicts a number of SUVs from GM including from time to time the Traverse/Arcadia/Enclave/Outlook family. The solution is the same always - to unkink the drainage from the sunroof so the water drains correctly out of the vehicle and not into the cabin. This has also happened (less frequently) on other brands. What is surprising to me is that this happened to you out of warranty - usually the car is delivered that way and you find out quickly when it happens the first time it rains - and then the dealer takes care of it in a similar manner in the way you describe.