In general I render cached geometry with delayed-load procedural for speed and IFD efficiency, material archives work fine for multiple material assignments on a single archive. My standard workflow has full geometry or sim caches in the lighting file for shader assignment and look dev. These caches are then re-cached and material archives are generated to be rendered as delayed-load archives on the farm. (I imagine there are ways to streamline these kinds of dependencies further with PDG, but that's a conversation for another time)
So I find myself re-caching geometry at times purely for the sake of material assignments and grouping. My question is pretty general, how are others going about this, and or are there better/newer ways to do this with packed prims instead of delayed-load?