A corroded power switch seems to be one of the common problems that can cause the console to not power up. In my case I opened up the switch by removing the upper metal layer just to find it was all completely corroded. There was no bare metal to be seen, even on the arms of the slider. So i just figured I would desolder it completely and toss it away. Which I did. Also I soldered in a wire between pad 3 and pad C as a temporary fix. This way it powers up by inserting the batteries.
Later I really wished I would not have tossed that switch - simply because it seems new ones are no where to be found. Also the custom length arm on it means it would be really hard to use a generic switch to replace it.
It was only much later that I found this reference to cleaning the internals of the switch instead of replacing it. This guide can be found in a thread on bridging the fuses, which is also why I did not find it at the time. So before desoldering those switches - no matter how dirty they are, try to clean them up like they show here https://gbatemp.net/threads/gameboy-color-blown-fu... Also i would recommend using isopropanol for the cleaning job.
If you proceeded to remove the switch, just to realise that the only way to find a new one is to get your hands on a new motherboard, then this is a suggestion.
Trying to fit a switch from the gameboy advance or SP is the obvious choice. Picking up a dead Advance on Ebay seems cheaper and easier than finding a new GBC motherboard, also many have broken SPs lying around from using the front light,speaker and the battery to mod their GBC.
The power switch in these devices have similar physical dimensions as the GBC switch and a similar pinout. But using one just wouldn't work - for the same reason that you cant just throw in any other SMD slide switch. The arm is too short to fit into the plastic slider on the case.
But there is a way to fit it which gives an end result that works just like the original power switch.
What you can do is to solder the GBA/SP power switch upside down in your GBC.
(edit : Power switches are sold separately for recent gameboy models such as DS lite, maybe someone could try this with one of them as well)
You fit the power switch sourced from either a gameboy advance or an SP upside down. (I only tried the SP switch, but they look the same). If you try to place it the normal way the arm will not reach the slider.
Solder is added to the pads on the motherboard and the short ends of the body of the switch. Solder it a bit further out than the original switch. This is done to make the arm fit into the plastic slider on the case. Then you bridge what is now pin 1 on the switch with pad 3 on the motherboard and pin 3 on the switch with the pad labelled "C".
In my case pad 3 came off when I desoldered the original switch. Getting the switch off without breaking anything is actually quite hard and if you are not careful those pads will come off. Instead of pad 3 I used a source for voltage on the other side of the PCB. This is why in the picture above, pin 1 on the switch does not connect to pad 3 like I mentioned it should be. If pad 3 is intact then use that.
This is the result you are looking for.
You need to make sure that the switch is soldered just right so the plastic slider moves the arm reliably. There is no tolerance in the travel distances of the switch and the slider, meaning that if they are not synchronised the slider might rip off the switch, that would possibly result in the pads coming with it.
Moving the slider with the new switch in place feels just the same as the old one.