I think the main problem is lack of data (in example, trying to watch the cockpit of someone in an A10C when you do not own the module, and thus are in fact missing the appropriate A10C cockpit files). This is likely also one of the main reasons why this has not been done already, as it creates a huge data protection headache (people would likey be able to pirate modules more easily if all the cockpit data was present for all aircrafts in the sim in order to make incockpit spectating happen).
This could be alleviated by simply popping up with a message when someone attempts to view the cockpit of a module they do not yet own. As the data rendering for MFDS and so on can be carried out natively, there shouldn't be any slowdowns/delays: it would simply copy button presses & HOTAS movements in the same way that replaying a track file does. Just in real time for a different user.
It should be doable in my opinion, but much on this depends on the current coding structure & the way data export is handled in the simulator at the moment. It's a fantastic idea and I hope it will be introduced into DCS soon.