Below I've written out my full workflow. But put simply, I don't think there's much difference between when you do what.
If possible, use adjustment layers--these are non-destructive. Personally I fix colors first, but that's because off-colors annoy me.
Sharpening should be your last step. (makes sense, right? you don't want to apply effects to unsharpen what you just sharpened.)
My workflow:
1) drag/drop photos from card over to desktop (there are some minor issues with landscape/portrait auto-orientation right now)
1b) eject card. Do not erase.
2) Import into Aperture 2. Simultaneously add general metadata and event-specific metadata. Simultaneously use a version naming sequence unique to that event and each photo (yyyy_mm_dd-event name_photonumber).
3) Cull photos by browsing full screen. Flag photos by pressing the "+" key (adding one star).
4) Go through the tagged photos and cull again (now giving two stars), if necessary.
5) Crop, align, and otherwise make small adjustments to the photos I tagged. If the color is off, I'll make the corrections to one photo, lift that adjustment, and stamp it on the other photos. Crop and alignment follows that.
6) Identify and edit any photos that need major editing by exporting to Photoshop (Aperture makes a second copy of the photo, and upon saving in Photoshop the corrected version appears in Aperture).
Edit:---At some point between 3 and 7, I also add photo-specific metadata, especially names---
7) Run Synk Backup to backup photos.
8) After Synk is finished, card may be erased.
Everything in my workflow is nondestructive. As soon as the photos hit my Aperture library, it's already on a mirrored RAID. The sync step is making a third copy onto an external HDD. (No, I don't do two distinct geographic locations. The photos aren't worth that much hassle.)
A similar workflow can be carried out by using Lightroom, or in a more painful fashion by using Automater, finder, and photoshop.