I have a feeling that as App inside XCode, USDZ is simply unpacked or converted into 3D SceneKit type on the fly. Sometimes this surprises me as a newbie developer.
Let say you load the USDZ as AR Scene, then you treat it as nodes hierarchy and you can always find the material and replace it.
I might be wrong... still investigating.
Maybe a USDZ can contain multiple Materials that can be switched around as needed using SceneKit code?