cpu is the first step. a move to an i5 is pretty significant and will speed things up that use 4 cores instead of 2. next would be the graphics. what you have is good but can always be better.
the time to do this would be when things start slowing down on you. so long as what you do on it is quick enough for you, then it's not time to upgrade. when you spend more time waiting for something to load than using it, it's time to move up to faster. i fix plenty of 6-7 yr old pc's that were entry level in their time who's owners are happy cause it gets on the web and loads facebook fine. i'd go out of my mind using it but for them it's plenty.