Да, вполне верно. В большинстве языков, включая C++, медленнее всего меняется самый левый индекс, а быстрее всего - самый правый. Так что вложенность твоих циклов сделана правильно.
Но вот использование имён переменных x, y, z на мой взгляд не точно.
Просто представь 1-, 2-, 3-мерные декартовы координаты: x - номер позиции в векторе, y - номер вектора в матрице, z - номер матрицы в 3-мерном массиве.
Так что при использовании переменных x, y, z более логичным будет: arr[z][y][x].