If a host application really sticks to UVC, then there are only select formats that are supported. UVC 1.5 spec supports 4 (YUY2, NV12, M420, I420). However, if the application has a filter implemented for a different color format, UVC can still be used as a transport medium.
for example, If UVC descriptor reports a bit depth of 24bit instead of 16bit for a pixel, the driver will expect a total of row * column * 3 bytes. This way, image in RGB color format can be transferred. But on the host side, the software application will have to read the data as RGB and not YUY2. Similarly, any non-standard color format can be transported using UVC but then the host application should have a filter to decode the image in the non-standard color format. Please let me know if I am not clear.
I have not tried this but I know a couple companies have this implemented with RGB.