Done all the time.
CPU = rarely to never. The issues are cost, is it soldered into the board and finding a CPU that will work.
The killer item is that few will risk buying the CPU and no one can assure you the new CPU will be compatible.
I recently purchased a Dell Inspiron 9300 with 1g Ram, 1.8ghz Centrino, 80g hdd and so on and so on.
I was wondering how upgradable it is. I don't necessarily enjoy the 1.8 and I think it bogs down quiet easily. I would like to up it to something else, but I'm not sure how hard that'd be.
I would like to swap out the hdd with another one (This one is 5400 and I want a 7200).