I've used the DC's IR sensor for a while and it is not working on all kind of surfaces. You need a minimal reflection from the bedsurface. If you get a stronger reflection from a lower surface like when using a mirror, you run into problems.
I use several types of surfaces and like experimenting. If you stick with a PEI bed all the time, an IR sensor will work just fine.
The same for proximity sensors. Most of them (or all?) are inductive sensors. Meaning they need a 'magnetic' material. Some printers have iron or steel inserts at specific places in the ALU bed just for that. Works not that good on alu and needs to be close. What if you want to use 4mm glass as printing surface as 4mm is already the range of most of these probes?
So for me : contact. Works always, on all kind of surfaces (except liquid ) and over the complete surface, not only on specific spots. I have a BLTouch doing that part of the work.