Ram is cheap, upgrading to 8gb would probably be a good idea.
If you have only 1 stick of ram now, you will then be able to operate in dual channel mode.
It is a small performance boost.
I would not look to change out the i3 unless you are using the laptop for cpu bound multi threaded apps that require a quad.
And... you probably can't change out the cpu on an existing laptop anyway.
The big improvement would be to replace the hard drive with a ssd.
I have done that on every laptop I have purchased.
You will be amazed by the difference in everything you do. I highly recommend it.
A 480gb ssd will be less than $500. If you really do not need that much storage, might a 240gb ssd suffice?