I have 2004 WRX and currently running 06 EJ25 in it. EVERYTHING will bolt up the same way.
Few things to consider: EJ25 heads have AVCS setup and 2 cam positioning sensors, one on the back of each intake cam. EJ20 has one cam sensor in front of driver side intake sprocket. You need to modify your EJ25 head to use EJ20 sensor http://elementtuning.com/technical/ej25_install.htm
06 uses electronic throttle body so you'll need to reuse your intake manifold
You can use your existing wiring harness and ECU as long as you make cam sensor mod. Otherwise you'll have to buy 06 ECU with complete harness and immobilizer.
I have no issues with mine running it with completely stock 05 ECU. Yes, you'll need to tune it for larger displacement but its pretty safe as it is.
Let me know if you have other questions, I just finished messing with mine a few days ago