yeah, for hobby stuff or one-off production runs design your PCB around an existing case you can buy. It saves a lot of time/money.
You can make up a metal template to drill any holes accurately if needed.
But if you do need more, like 100 cases, then yes china/alibaba is a good source.
You can get a customized metal case, like a 1590BB, for around $10 each if you buy 100 and can get whatever holes/slots cut into it that you want.
Most of the places will also silk-screen labels on it and you can pick what paint or anodizing color you'd like.
For reference, the $10 example was just for one color case, holes/slots cut and black painted. No silkscreen.
You can probably get cheaper than $10/piece, even at 100 qty. but im not sure what the quality would be like