I’m going to get on the hot seat for this, but I’d bet dry steam would do a good job cleaning. Way under 100psi, hot enough to kill and disinfect but without the time and punch to heat anything but the very surface of shingles so it wouldn’t effect the structural integrity of the shingle. Of course it would be much slower, more dangerous to the operator, and more expensive to apply, but maybe it would get the job done without damage. Not suggesting it, just thinking out of the box. I’ve done it to remove ice dams and it leaves clean streaks.