I use a Bransonic, with optional heat. They ain't cheap, even on Ebay, but save a huge amount of cleaning time, if you have a lot of cleaning to do.
Mine has a 2 gallon tank, which is big enough for about 95% of all assembled handguns, and I can break down an AR and completely submerse both upper and lower and about 4" of barrel. I wouldn't get anything smaller than a 1 gallon tank for cleaning an AR.
I mainly use Stoddard solvent and about a 10 minute bath with heat. If I dont want to wait for the solvent to slowly dry off the gun, I use compressed air or spray down with Methyl Ethyl Ketone (MEK is nasty stuff) to evaporate the solvent and give me a grime-free part.
I use MEK in the tank only for all-steel items, because it will eat many plastics, paints and finishes. The nice feature of MEK is that it will dissolve almost any kind of oil/grease/sludge/residue and leave your part squeaky-clean in a few minutes. I never use the heat with MEK, because it is extremely flammable. The ultrasonic action will create heat by itself. I can leave a hunk of steel in the tank for an hour and it will be too hot to hold in my hand, hence only a short bath time with MEK.
Look closely at any unit before purchase, many will say they are not to be used with flammable liquids.
With firearms, I only use the ultrasonic a few times a year, regular after-shoot cleaning is done with a high-pressure can of brake cleaner, used liberally.
I do use it for cleaning hundreds of tools and parts from cars, aircraft, etc.