Ok here's the result from an online vinyl sticker house "Diginate.co.uk". Photos below.
I have no connection to them other than that I am a customer. Crucially for me they have no minimum order size, and gave you an online quote based on size of sticker.
I had a raggedy hole in my console where various old switch holes were now redundant, so I decided just to cover the whole lot with a sheet of perspex (A5 sheet from that popular online marketplace A5-size, 5mm thick for under a fiver). The switches are off-centre on purpose for various reasons, but the badly-bevelled edges are my poor router skills.
I debated roughing up the surface of the perspex first with some wet n dry, but didn't bother in the end.
I got an A4 sized sheet printed in 'clear' vinyl, and printed two versions of the sticker - one with a black background and transparent edges, and one transparent background. I prefer the black, but was worried it would not be opaque enough. It seems ok, and in hindsight I can use the clear one to protect the ink of the black one! Price for an A4 sheet including delivery and VAT was just over £16. Having 'clear' vinyl was few quid extra, but not much. My only concern is that the clear vinyl adhesive is 'permanent aqueous', rather than the 'permanent solvent-based glue used on the gloss and matt vinyl. We shall see about durability. The black ink rubbed off with a permanent marker when I was tracing around a cutout, so I suspect WD40 or petrol inadvertently contacting it might be an issue, but I am yet to test this. I might stick the 'clear' version over the top of the 'black' version which will also fix the bad font.
I used the free 'inkscape' software package to design the sticker. It took me a couple of hours to draw up, having had no prior experience and just using youtube video tutorials. It took a little working out how to draw white lines on a transparent background when the page in Inkscape was white, but the FAQ on the diginate website told me how (just make a coloured background layer and label it 'transparent', and tell them when you order that it should be transparent)
Diginate were very friendly. They had looked over the file and emailed me back to say they thought one of the fonts didn't look right, and sent me a picture of how it would have printed. Indeed the font on one label didn't match the others but was still legible - they could have easily just printed it and sent it to me, but I'm grateful they took the time for a real person to check it over even on a small order. I did correct the font, but in the end, one of the fonts was still not right despite me converting to paths as they suggested, but it looks ok (compare the switch label font on the actual sticker vs the preview print with both black and clear versions).
If I were to do it again, I would:
1) stick the label to the perspex sheet first, then cut out the holes for the switches. With the holes already in the perspex, aligning and sticking the sticker down was fiddly.
2)place mounting screw/bolt holes outside the sticker area if possible as if you don't take care tightening the screw down, the label gets caught and torn. (I re-used some old holes which was a mistake in hindsight as they were in the wrong place).
3) also ask the printhouse to send a preview of the fonts. They make it clear that fonts might be substituted if not converted to paths, but I had done this but still had issues with the font.
I'll try doing some labels to wrap over the gauges above the switchpanel, and then go around the rest of the boat thinking of everything I might ever want a label on - You could fit dozens of custom labels on an A4 sheet!
(n.b. the switches are Carling Contura V-series from Axon Components in various configurations. You can get these with factory-printed labels, but nothing that suited me.)