You can get a small STM32 with multiple multiplexed 12bit ADC channels, with ~2MSPS sampling speed and 256x hardware oversampling (~16bit), for less than half a buck (per 1000)[1].
Cheapest independent 12bit ADC with >500kSPS I could find on DigiKey were all over a buck (per 1000)[2], and they were all single-channel parts.
Now keep in mind that the ADC only does ADC, while the STM32G030 has several 16bit hardware timers and other peripherals.
[1]: https://www.digikey.com/product-detail/en/stmicroelectronics...
[2]: https://www.digikey.com/products/en/integrated-circuits-ics/...
The STMG030 running full tilt at 64MHz, with ADC and one timer (4 channels) enabled takes about 6.7mA at 3.3V according to the simulator.
However looking at consumption in the sim with and without the ADC enabled at full speed, the ADC peripheral itself seems to consume a bit over 100uA. In comparison the ADS7042 datasheet says about 200uA at 1MSPS.
I haven't hooked up the STM32G030 (just got some), so I can't verify the simulator. Would be a fun project though.
Of course the STM32 has power-saving sleep modes etc, which reduces the overall chip consumption to a few uA.
It's $1 for an STM32F0 or $2.65 for an STM32F4 with a quantity of ten 12-bit 2.4 MSPS ADCs included, but a single-channel SOT23-5 ADC chip is also $1, and if you wanted 10 single-ended channels at 2 MSPS you're looking at $8 per device.
You typically don't use an off-chip ADC peripheral when most every MCU has a few channels of ADC on-board unless you've got special requirements (like sigma-delta high-resolution, simultaneous sampling, very high sample rate, etc), and those requirements cost money.
STM32 models with more than one ADC, they can typically be interleaved to increase effective sampling speed. In the case of the STM32F405/F415, the three 2.4 MSPS ADCs can be interleaved for up to 7.2 MSPS.
The STM32 ADCs are also quite accurate with proper board layout in my experience, so you actually get close to the 12 bits. Some newer STM32 models also support hardware oversampling to effectively get close to 16 bits.
[1]: https://www.st.com/en/microcontrollers-microprocessors/stm32...