I had a similar issue for one of my Python processes (though not Photoscan related) and the only way I found to create a multi-channel (more than 4 channels) was to use the
tifffile module by Christoph Gohlke.
http://www.lfd.uci.edu/~gohlke/pythonlibs/#tifffile# Here data shape is (height, width, depth)
tifffile.imsave(filename, data, compress=5, planarconfig='contig')
In this example, the compress argument enable the lossless zlib compression (remove it for no compression at all). The planarconfig value is required to save a (height, width, depth) image as tifffile usually handles (sample, height, width) .
However, tifffile does not handle the saving of SubIFDs, ExifIFD, or GPSIFD tags so if you need to write them you will have to use pyexiv2 or py3exiv2 (depending on your Python version).
This module does not have an online documentation but you can check the doc strings of tifffile.imsave and tifffile.TiffWritter.save, in IPython or similar, for more informations and/or to tweak the above example.