Cleveland Punch, among many others, makes custom punches- but no custom punch is cheap- I know at least 15 years ago, I was quoted $500 for a 1/2" diameter 5 pointed star punch and die set for my Whitney bench punch- and I would guess prices have gone up since then.
http://www.clevelandpunch.com/
So if your design is at all complicated, and its 1 1/2" in diameter, you could easily be looking at a grand or more in tooling costs.
Even in 20 gage copper, the tonnage required could be a fair amount, too.
Punch tonnage is calculated based on perimeter length- and most punches are sized for round holes, which, of course, have the minimum perimeter of any shape.
Here is a link to a tonnage chart-
http://www.roperwhitney.com/tech/chart1.cfm
In mild steel, you would need a minimum of a 5 ton punch, depending on the shape. In copper, you can derate some, but its always better to have more tool rather than less.
I am guessing, without seeing the shape, you are talking 5 ton bench punch. Not a traditional "hand" punch. You need more mass, and rigidity, to hold any shaped punch, as anything but round must be held in exact alignment, elsewise the punch hits the die, and there goes your thousand dollar custom tooling.
Another problem is die size- most small punches, bench and hand, wont do a hole bigger than about 9/16", as the die must be much bigger than the hole punched. You gotta get into a bigger, or more specialised, punch, to punch a 1 1/2" hole.
I would be looking at a punch like this-
http://www.americanwhitney.com/91BenchPress.asp
As it will go up to 2" diameter.
I would definitely get quotes on waterjet and possibly laser cutting.
Prices vary regionally- some places are lousy with waterjet shops, and there is a lot of competition, other places the lone guy can charge what he wants.
Pricing is based on perimeter length and cut quality- if they run faster, its cheaper, with worse edge quality- which shouldnt matter on 20 gage, but can be a factor on 1" plate.
In Seattle, there are quite a few waterjet and laser shops. I am up in the Skagit, and I use local guys up here, but haul out the yellow pages- I have used a big shop over in Bellevue, down by Coal Creek, that was good, and I know there are some in the south end as well.
Several in Lynnwood and Everett, too.
Intial cost of waterjet would be much cheaper- a couple of hours of programming time, max, depending on your design- if its simple, even less.
Whereas punching is more upfront. Especially in Seattle, where the chances of finding a used punch are pretty much nil.