In my case this wasn't so much about root access as getting rid of the Samsung bloatware.
The well documented part of the process is:
Now I have a base Cyanogen with only it's defaults installed on my phone. There is no Market / Google Play. I definitely don't want that either. All my installs will be from non-market fdownloaded APKs. I needed these additional items:
I don't sync my contacts, the phone is the only input and I regularly export them manually as an XML file that is used to provide a read-only source for other applocations
K9Mail from http://code.google.com/p/k9mail/
The FrontEnd that comes with Cyanogen isn't great, I'm experimenting with Business Calendar.
installed CalDAVSyncAdapter from https://github.com/gggard/AndroidCaldavSyncAdapater - need to compile to get an .APK
Not so much about root access as it is getting rid of the manufacturer bloatware.
Things have come a long way since my G1, this process is now well documented and there are lots of protections to prevent bricking the phone.
There are certain APK files that you might need, among others Google Maps.