I'm guessing maybe your Idle Air Control Valve? They do go bad from time to time. I just replaced mine and it fixed an intermittent idle issue I had. Luckily for me the IAC on my 01 is only $51, but I think its in the $80's range for the 04.
As for cleaning the IAC, if your IAC is going bad...