Use Bin4ry's/Androxyde's flashtool:
There seems to be a lot of questions regarding the steps laid out in the official thread, so here I'll try doing a STEP BY STEP guide for those who are confused with the steps.
I borrowed some stuff from the original guide, so thanks Bin4ry, jerpelea and biktor_gj for everything!
NOTE: Before you begin, you should know that this process will wipe everything off your phone. So backup your contacts, and text messages and everything on your phone! Download a free backup program from the market to make backups onto your SD card, and after you're done everything, download that program again and restore everything from SD card. Your SD card remains fine.
1) Install SEUS (Sony Ericsson Update Service).
You can get it from here: http://www.sonyericsson.com/cws/download/1/110/61/1275980198/Update_Service_Setup-22.214.171.124.exe
2) Run SEUS, follow the prompts. You don't need to update the phone through it, but get the phone ready for updating. This process should install the drivers necessary for the rooting process.
Note: I suggest you keep your USB cable attached to that USB port. Remember which USB port of your computer it's attached to, as changing USB ports can lead to a bit of confusion for the next 2 steps!
3) To check if #2 was successful, click on Start, click Run, and type: regedit
In the Registry Editor that pops up, click on Computer, press CTRL+F, and search for this: USB\Vid_0fce&Pid_adde\
After it's finished finding, on the right side you'll see DeviceInstance, then it says REG_SZ, then it says something like USB\Vid_0fce&Pid_adde\5&270d2a78&0&3
You'll need that last bit (in this example: 5&270d2a78&0&3 Yours would probably be different). This is your DeviceID (you'll need it soon!)
Note: You may have multiple of these if you plugged the USB cord into many USB ports on your computer. Each USB port will give a different DeviceID, so if you have more than one DeviceID, you'll have to choose one, and if it doesn't work (you'll find out when you reach #5!) you will have to choose another one.
Alternatively, download the file in the next step and extract it, go to the folder called 1st, and run the DeviceID.jar file. It should give your DeviceID
4) Download this:
or from here: http://rapidshare.com/files/404363083/i_R1FA16_ft.rar.html
In the step1 folder, you'll see a file called DeviceID.txt
Open it up, delete whatever's there, and put YOUR DeviceID (that you found from the previous step).
Save the file and close notepad.
Note: Make sure there are no extra spaces or lines after/before the DeviceID. The ONLY thing that should be in the file is your DeviceID, NO SPACES/LINES (for example, only this: 5&270d2a78&0&3 [yours will probably be different])
5) Take out the USB cable from your phone (leave it plugged into your computer)
Turn your phone OFF
Open up step1.cmd (it's not inside the step1 folder, but outside it), but DON'T PRESS ANYTHING
Now we have to put the phone into flash mode. This is how you do it:
Hold the Back button on your phone, and while holding the back button, insert the USB cable into the phone.
A green light should come on the phone (like when it's charging or a missed call)
Quickly "Press any key to continue..." in the open step1.cmd window.
Let it finish what it's doing. It will say "Press any key to continue..." after it's finished. Until then, DON'T touch anything!
If you get problems in this step, refer to this post:
Here's a helpful video for common java issue: http://forum.xda-developers.com/showthread.php?t=713457
After completion, this will give you a Generic X10i R1FA016 firmware (check it by pressing the left button, go to settings>about phone and at the very bottom under build number)
Keep your phone plugged into the USB.
6) Download this:
or from here: http://rapidshare.com/files/404359845/ROOT_F2v2.rar.html
DELETE step4 folder, step5 folder, step4.cmd and step5.cmd
Now we're going to put the phone into Debugging mode:
Turn your phone on if it's not already on.
Press the left button, go to Settings>Applications>Development and check on USB debugging, press OK in the popup. Plug the USB into the phone (in case you disconnected it). You should see an exclamation mark at the very top left of the screen of the phone.
Do NOT have the SD card mounted to your computer!
Note: This next step can take a while!
Open step2.cmd, don't press anything!
On the phone, a list of buttons will come up eventually. Press the 6th option (something about update from SDcard). ONLY PRESS IT ONCE!
Leave your phone alone. Go to the washroom or eat a snack.
You'll see the progress on the phone screen, as it installs the package. Leave everything alone.
After completion, this will give you a Generic X10i R2BA023 firmware.
If you get problems, try this post: http://forum.xda-developers.com/showpost.php?p=7003121&postcount=1122
7) The phone should be on, USB plugged in, and already in USB debugging mode.
Open step3.cmd, and 'Press any key to continue'
Let it finish what it's doing, it will say 'Press any key to continue' at the end after it's finished.
After completion, this will give you ROOT! And it also installs some programs for you.
Additional steps for X10a:
Inside the step4 folder, there is a DeviceID.txt file. Remember you've seen this before? Copy the same one from step1 folder that you did in #4, and put it into the step4 folder.
Follow #5 (except with step4.cmd)
Next, turn the phone on (if it doesn't turn on, unplug the USB from the phone, and try turning it on again, then plug the USB back in). Put it in USB debugging mode if it's not (if you forgot how to, look back in #6)
After it's done, press the left button on the the phone, go to Settings>About phone and under Model number it should say X10a
If you have an X10i, follow this: http://forum.xda-developers.com/showthread.php?t=719486
Otherwise if you have an X10a, use this file instead, but follow the same instructions as in the link above: http://rapidshare.com/files/405188255/Market-Fix-X10a.rar
To delete preinstalled programs you don't want, such as Moxier:
Put phone in debugging mode if it's not already.
I recommend you unplug USB from phone so you don't end up running some file and messing your phone
Open up the step3 folder. Right-click on cleanup.cmd, and click on edit.
Whatever is there in that list of "@adb shell rm /blah/blah/blah" will get wiped off your phone. So change the list as you want. If you're unsure, REMOVE IT FROM THE LIST!
After you're done making your list of apps to remove, save the file, plug USB into phone, and run the file.
Here is a thread that says what some of the applications are, and additional ones you can add to the list, to remove from the phone: http://forum.xda-developers.com/showthread.php?t=714021
Alternatively, you can install Titanium Backup from the market (it's free!) and use that to uninstall some applications. Also, it's really great for making a backup of your stuff (you can backup more things now since you have access to more things since you now have root!)
If you are experiencing difficulties, try reading through this thread, since it may already be answered: http://forum.xda-developers.com/showthread.php?t=711969
Check out this post if you are having troubles; hopefully it can clear up some common problems people may be having: http://forum.xda-developers.com/showpost.php?p=7099515&postcount=1927
I hope this step-by-step guide helps!