In general giving admin access to anyone to your own site is similar to handing them the keys to your home - often it's the easiest and quickest way, and it's always the most dangerous one. Using support tickets by providing extensive details of the issue, screenshots, use cases and complete scenarios is always helpful. Screen sharing helps most of the time, but sometimes the site owner is unable to help with everything or doesn't have a complete access to everything needed (for example, a plain DB access which could sometimes be revealed through wp-admin/options.php from superadmins).

A pre-final step is backing up the entire site together with the database (or just an archive of the wp-content/ folder which is often not sufficient) so that the developer can test that locally, profile with his/her toolset etc. Keep in mind that your admin user hash is also in your database, together with your wp-config.php details in your WordPress folder!

In case admin access is needed (whether it's plugin/theme author or a WordPress consultant), a handy set of plugins is ThreeWP Activity Monitor and WordPress File Monitor Plus - the first one keeps a complete log of the user activity across the site, the second one reports the changed files every few hours.

As I said at the beginning, it's always dangerous to share your admin access to anyone, even if it's a recognized consultant, but there are a bunch of preventive options or monitoring that could be applied to capture most possible scenarios (including using monitoring plugins to prevent malicious attacks).