General answer: this usually helps, but this is not always the case.
For example, if you only perform a z-pass at first to reduce the fill rate, then having all other alternating attributes will only strengthen the cache by pulling unused data. In this case, the interleaving of everything except positions can make sense. Or you can have two vertex arrays, one with each attribute and one with only positions.
I tend to alternate everything, if I have no reason not to do this.
kusma source share