It depends on the amount of data.
The preferred way for animation is to use a tilemap or in this case rather a sprite sheet.
Because you're just using one texture and changing the texture rect is very inexpensive.
Switching between different textures incurs a cost, so it's always a good idea to try and reduce the number of textures.
And reloading the pixel data is, as you said quite expensive, as you'll have to transfer all the data from RAM to VRAM.
But if you have gigabytes of animation data, then maybe there's another approach needed.