Best way to use ajax front-end?

Never ever use your theme/plugin files directly for ajax calls, always use admin-ajax.php. This is the only recommended way of doing ajax to ensure maximum compatibility with wordpress (including future versions) & 3rd party plugins/themes

The best/easiest way depends on the situation & is debatable but i would ask you to use admin-ajax.php even if it is hard or inefficient