Two ways:
The easiest way to do it is just to use a hole saw. You can snag one without an arbor for around ~30 USD, so with an arbor it's more like 40 ish. But it lasts forever as long as you don't burn your drill out 😀, especially in aluminum and plexi glass. Go slow as the torque is going to be pretty gnarly and most drills aren't really designed to cope with that kind of abuse, or if you've got access to a major drill then just gun it and hold on for dear life. My dad has a right angle drive unit drill that draws about 8 amps. The thing could probably break an arm if one wasn't careful. I'm spoiled using it, but I could do it with our cordless, it would just take a lot longer.
The other way is a Dremel. That's a lot harder as you need to use a circular cut off wheel and sort of cut it in small portions. Use it at a low RPM to score the metal all the way around and then ramp them up to cut through the bulk of the material. You'll then need to use a grinding wheel to clean up the edges. This is the method I typically use to cut a case window (so I can ogle the hardware). It takes a long dang time (like 30 minutes a cut), but the results are gorgeous. You can rush it if the cut area isn't going to show (like say a front intake that's covered by a plastic panel).
Either way you do it, it doesn't hurt to throw a fresh coat of paint on it when you're done. I probably spend between 2 and 6 hours on a case by the time I'm done messing with it.It's worth it to me though as I end up with something I can ogle without taking the side off, and my boxes always run as cool as possible. It would be overkill to do this for some stuff though. I can't imagine spending this much time and effort on say a 486 or 386, although I'd probably still put a window on the thing if possible.
The top holes have some pitfalls as you mentioned though. I've got my two vintage rigs in pieces right now, but the following picture demonstrates how it's difficult to stack them as they are thanks to the top hole. They have to be staggered to keep the feet from making contact with the grille. The solution will be to remove the grille from the top of the silver case here and hope someone doesn't get cute and try to drop something down that hole (or maybe they should, so the fan can whack them in the finger and they learn not to do it again, but that will most likely just break the fan... I've done it before). Those pics make the room look like the dump it currently is 🤣 . I'll have to take new ones when the boxes get finished.
The top one will change to:
Sarah
PIII-S 1.4ghz with Slotket adapter and Via Apollo Pro 133A based motherboard (changed from PIII Coppermine 800/100/256 on 440BX mobo)
768MB PC133 Cas2 memory (yeah, the good stuff)!
Geforce 2 MX 32mb AGP card (with a heatsink added so I don't burn my fingers on it again)
2x 12MB STB Black Magic VooDoo2 cards in SLI (with a Blue SLI cable I may add)
Intel Pro 100 network card (the refresh with the smaller chip, it barely sticks out of the PCI slot, and consumes less juice)
SB Awe64 Gold with 32MB simmconn riser (so 28MB of usable memory), and the SPDIF out connector you see in the picture
60GB Maxtor ATA100 HDD (though it will run at ATA66)
3.5 inch FDD
32x CD Drive (I forget what speed it writes DVD's at, but it does that too)
400W el cheapo PSU (hey, it was enough for twin 533 mhz Xeons when I picked it up, so it should be fine)
Win98 SE
Universal AGP, so a V5 5500 would be bangin if I could swing it, but they are far too expensive and I've set a limit on my budget for the time being. Plus, I hope box 2 will make that unnecessary.
The Bottom One is locked as:
Rachel
P4 Northwood 2.8ghz/533mhz fsb in a Granite Bay based motherboard (E7205 chipset, Intels first dual channel DDR P4 chipset)
1GB dual channel DDR 266 (I forget the timings now)
Asus ATI Radeon 9800XT with Artic Cooling cooler - should be more enough for glide wrappers
2x 12MB STB Black Magic VooDoo2 cards in SLI (again, with a blue SLI cable 😀 )
Sb Live sound card (I might swap it back to an Audigy 2 ZS platinum or an Audigy Platinum Ex, but both of them gave me trouble on my OS of choice for this box
80GB Maxtor ATA100 HDD
Creative 12x DVD drive (with some read issues, but it still works for the most part)
Pioneer 16x DVD RW drive
Win98 SE, probably with WinXP as a second OS