The Japanese were good but not that good that they would just over run a British colony with out some other factor on their side. The British were already fighting a war against Germany and Japan was a secondary concern. The British soldiers who did fight in Malaya fought valiantly but were out numbered and outgunned. The British weren't very focused on the southeast pacific. They didn't become very interested until the Japanese entered Burma and threatened the crown jewel India.
I just finished reading the Aussie Official History volume for that period, and even though it clearly mentions that the theater of operations was rated rather low by the British government and JCS in all aspects, it also points out several misconceptions about the japanese and a lot of tactical blunders which were about to prove deadly for Commonwealth troops. I´ve been interested in military history for a long time, and even though I know that my military knowledge is rather shallow (but in the process of getting deeper), in this case it seems to me that poor soldiering played a big part in the humilliation the Union Jack suffered; the situation in Bataan was much the same in terms of equipment and supplies, and the defense lasted much longer because it had better "jungle officers". Maybe the defeat would have been less spectacular had british (and dutch)tactics been more flexible in the face of jungle warfare and the attitude they had towards colonial troops and specially a determined and relentless foe, which, by the way, wasn´t that superior man for man.