The sudo crate runs the current command in another command (it calls /usr/bin/sudounder the hood), but that means the whole subcommand is running with sudo privileges, which can be a risk -- unintentionally doing other things as root.
I'm not sure how zbus_polkit works.
The third option scopes the sudo to just the rm, which means the rest of the command can run as user, which is nice.
Would be nice to have API like the first method, but scoped like the 3rd, and not assuming Linux-like environment so that it can escalate privileges on Windows as well just for that operation.