How Do I Create a WordPress Demo Site with Limited Admin Access

I would think that you would need to give the user the ability to create posts/pages and save customizer settings to really get a feel of the theme.

I would create a new “admin” user role that has all the permissions of an admin, except creating/deleting users. This way you can’t get locked out of your site. Then i would create a function by hooking into the wp_logout action hook to delete all posts/pages, and set the customizer settings back to default, when the user logs out.

Alternatively, you can use the Adminimize plugin, which should enable you to do exactly what you want.