How to do advanced routing to a Craft channel
I'm not sure I understand your question, but to try:

There actually isn't a "standard Craft routing", for channel Sections or anything else.

In your channel's Section settings (available via Settings -> Sections -> [your event section]), there's a field called Entry URL format. Simply add {slug} to that field (and nothing else), and you should be good to go. You can even use the same URL format for different sections.

In regards to your "bonus question", if you set the Entry URL format to simply {slug} for the events section, Craft will probably throw 404 for any /events/{slug} URLs, out of the box.

As for dynamic routes, you're correct that Craft won't populate your template with the entry variable – it will however, populate the template with variables matching the tokens that you add to your route. So, if you e.g. create a dynamic route that uses the &lt;slug&gt; token, you can pull the entry in the template like this:

{# At the top of your template: #}

{% set entry = craft.entries.section('events').slug(slug).first() %}
{% if not entry %}
   {% exit 404 %}
{% endif %}

{# ...the rest of your template #}


Beyond the above – if you're still unsure how to set things up properly, I'd suggest taking a look at the official docs on routing, which explains in detail how Craft evaluates requests and what your different routing options are. Particularly important if you figure that you do need to do some custom routing beyond what the URL format setting can do.