Doing anything more fancy is going to be complicated. There might not necessarily be just one audio thread due to the host’s multithreading. There’s no reason to assume the host will be calling the same plugin’s audio processing always from the same thread. (For example Reaper uses a multithreading model where whatever worker thread happens to have the chance to process the track and its plugins, gets to do the work.)
The isThisTheMessageThread() is usually used, because many operations on the message thread are not designed to be thread safe. The intention is, to make sure some operations, that access data, that the message thread accesses as well, cannot come from another thread.
Maybe the opposite assumption is not always true. I don’t know, if the host is not allowed to call processBlock from the message thread? (Maybe to flush parameters or whatever…)