Hi Matt,
Please search the code for uses of the require_js function. This is the function you should call to load YUI libraries.
Beyond that I am not sure as to the answers for your questions. Sorry. I've used YUI for AJAX so I know how to do that bit

Haven't done drag and drop (with YUI) yet, maybe in a couple days.
One other note is that if you don't want distracting page flicker it can sometimes be better to update things before the page finishes loading. For example if you are going to do something to a div and you don't want the user to see it change, you could do e.g.
<div id="whatever">non-JS or too-old JS version of contents</div>
<script type="text/javascript">
setupDiv('whatever');
</script>
By this method you can obviously only refer to page elements above the script, and it does clutter the code a bit. But I often find it useful and it avoids difficulty with onload chains. This is not to say that you shouldn't use onload, of course that is fine too. I use both techniques.
--sam