That can be a lot of source.
PSU being one of them. Actual switch unit ( that's the one small circuit board right behind your computer power on button ) can go bad or short. I had a few of them myself and when I change the chasis, the problem disappears. My guess is that since I bought my chasis at local small used-parts place, they buy those factory overstocks and didn't test for ground circuit shorts.
What I do is just change the chasis since it's hard to find the type of switch unit that is used on your chasis. If you are any good with soldering stuff, try to dust off the switchboard and make sure all connection are good and secure. Dust built up can also make your board to short.