When using RGBA_SNORMRGBA_SNORM you should use GL_BYTEGL_BYTE with four components per texel to fill it.
It is basically the same as normal UNORM textures only that you get a value between -1.0-1.0 and 1.01.0 when sampling.
The signed byte value is mapped -127 -> -1.0 and +127 -> 1.0. -128 is dropped.
Sampler type is sampler3D (Floating-point also covers normalized integer formats).