Happens all the time (especially in a field like General Surgery). Changing programs in the same specialty is a different breed - happens too, but its a much more delicate situation. If you have legitimate reasons for wanting to switch programs (ie, like a spouse job transfer, etc.) and you are open and upfront with your current PD, then it will be easier and you will face much less rancor.
That said, finding an advanced training spot in some specialties can be difficult but if you have the support of your PD, he/she can be valuable in assisting you in finding open spots.