`sudo su` is always the least correct way to get a shell though. Effectively, you are doing:
"switch user, switch user". You only need to do this once, and sudo can do it for you via `sudo -Hi`.
But what if the user doesn't have a shell set? Or users /sbin/nologin as their shell?
Then you can `sudo -u user /bin/bash` and well, you lose all auditing ability but now you can do things as that nologin user. This works similarly with doas, and su of course.