The RIT Dye Method.
https://www.ritstudio.com/2015/04/09/how-to-dye-legos-with-new-rit-dye-more/
I ended using a stronger mix than what was is in that tutorial. She is at 8:1 dye mix, I was at or below 4:1
My version of this was a ceramic mug on my barbecue and a ball tea strainer for the pins and small parts, or a strainer for the axles.
Get the mix simmering, then submerge for a minute or two. Then remove and check. If happy and not distorting, then dunk into cold water, otherwise back into the mug for more colour.
Not everything dyes though.
I have a collection of warped liftarm's now. The Frame liftarms were the worse, warping with very little heat.
Oddly enough the thin liftarm's dyed ok.
The blue 1/2 friction pins were also troublesome. They could still be fitted to liftarms, but warped enough that you couldn't clip parts to them (eg. serial plate or GT3 RS plate, solved with some superglue), but still fine for the hose connections.
The single or double friction pins dyed really well.
Worse colour to dye, Red. It doesn't take fully.
And the best colour, the yellow axles of all things.