I'd always thought the fixed-frequency units were frowned upon for electronics cleaning because they might damage components at resonance, didn't think it might have only been a standing wave problem.
I have some reservations:
1. the lowest frequency of piece of matrial is determined, in addition to sound velocity in medium, by the size of the object. It is generally given by 2v/L, where v is the sound velocity, and L is the length. Keeping in mind how small are SMD components on PCB boards, isn't the lowest resonance frequency way above the frequency range to which such ultrasonics cleaners are set (typically around 80 kHz)?
The sound velocities for common solids are in the range 1000-6000 m/s (for water approx 1500 m/s). This means that the the object which can be resonantly shaken should be larger than approximately 1.5 cm.
The only such object is the PCB itself. This means that the function describin the wave will not penetrate the components, but will be supported only in the PCB itself. This means that the whole board may be "bending", but components will oscillate together with the board. Of course even slight bending of the board potentially can cause metal fatigue to the solder joints (especially lead free), but I want to understress that we are not in the situation when a single component oscillates.
2. In microwave oven the problem of "standing waves" is solved by rotating the food on a tray.
3. The practical problem I have with fixed frequency cleaner is that resonance frequencies depend on how much liquid is in the tank, and what is its temperature. It may mean that adding a few spoons of liquid is the difference between good and bad cleaning. A good cleaner should look for maximum energy absorption by the tank and adjust the frequency to ensure the standing waves are generated. I want to distinguish between "random frequency sweeping" and "active resonance frequency following".