In the early days of integrated circuits, say the 1960s and 1970s, ultrasonic cleaning was generally not used for cleaning components. The affect was not on the crystals or components themselves, but on the leads going through the packaging.
Repeated, high-powered ultrasonic cleaning simply vibrated the leads too strongly, causing metal fatigue and component failure. This was particularly true for military and aerospace systems, which actually banned ultrasonic cleaning in one of the now-long-forgotten mil specs.
Modern ultrasonic cleaners use "sweep" frequency management to avoid this problem. The machines change frequency constantly, so the energy is never on a harmonic frequency of the lead for very long, and never at the same power setting, which has been proven to minimize damage to components.
At the same time, I think every expert would urge careful and thorough testing on your boards, your components and your systems before certifying the process to be trouble-free.
A better answer might be to look at vapor degreasing. Vapor degreasing is a much gentler form of cleaning that does not need ultrasonics to work well. Check out one source at Micro Care, Why is Cleaning With Vertre Better than Cleaning With Water or Some Other Solvent ? or another option is Does MicroCare Have Any Solvents Suitable for Use in Vapor Degreasers?