Agreed. The hardware itself does palette and tile lookups for each pixel, then shoves the data out the wire. Building an emulator that way is more literally how the hardware works, but it's slow. It's easier (and usually just as accurate) to cache the tiles for the current palette settings and blit them to the playfield as needed. There's no reason that the same wouldn't be true for 3D representations of those same sprites.
Updating the sprites in CRAM is fairly rare (and impossible in any game that uses CROM).
Updating the sprites in CRAM is fairly rare (and impossible in any game that uses CROM).