The fastest read access is numeric arrays when all of the leading dimensions as : and the remaining dimensions are scalars.
Tables are more efficient for memory than cell arrays are. Some table operations are slower, but my understanding is that some of the common table-oriented operations are built in and fast.
If you are writing to the arrays, then there are some circumstances in which cell arrays can be more efficient, if it can be arranged that much less memory is copied in the copy-on-write phase of modifying variables.