My company used to outsource all of our internal audits.
It was an effective way to handle this requirement and, as stated above, gave a "no pulled punches" review of our QMS.
As we grew up (largely through this consultant) over a number of years, we took internal audits inside when the cost of them was no longer yielding as much value.
Note that it was the same auditor each time, and he got to know where the bodies were buried.
When there were fewer and fewer bodies, and he was really reaching to find non-compliance, we thanked him and discontinued the relationship.
We now do our own internal audits, led by one of the people trained by that consultant.
For us, it was a good investment.