I have figured out a few strategies for dealing with this problem, but I would like to hear what other solutions people have come up with as well.
1. Air units - In particular, void rays. Planetary fortresses can't shoot up, so air units are good at taking them out. If I was already going a stargate build, then I a few void rays seem a good choice for taking out a planetary fortress. After charging up on the command center, the void rays can easily wipe the floor with as many SCVs as necessary in order to overcome the repairs. I typically don't favor this strategy, however, as I find robo/templar builds much more effective against terran.
2. Colossi - With the range upgrade colossi outrange planetary fortresses, and can attack without taking significant damage. It can still be difficult to take the fortress down without first targeting SCVs, but having a colossus or two targetting SCVs can take enough out fairly quick. The problem I have with this strategy is that it can be difficult to control if the terran army is nearby - you have to make sure the bulk of your units don't get drawn too close to the planetary fortress, while making sure your colossi don't get sniped, and while making sure to target fire SCVs that may be being microed. Overall a fairly effective method though.
3. Force fields - This is the method I have recently started using. I almost always have sentries in my army, especially against terran. 4 or so force fields surrounding the command center on the mineral side will either prevent SCVs from approaching or push them away if they are already repairing. I find this to be a lot easier to micro (I only have about 50 APM in most of my games) than target firing SCVs. Even if SCVs have a full surround, removing half is usually enough to take down the fortress.
4. Chargelots / hold position - I have had success in getting a full surround with chargelots before the SCVs can start repairing. I have read that if SCVs have already started repairing, you can "hold position" with your zealots while they are frantically trying to get to the command center and they will attack the SCVs. I have never used the hold position method, as usually when I have that many zealots I can get a partial or full surround before the enemy tries surrounding with SCVs (I am pretty low in Diamond league, so I'm not facing top notch play).
Does anyone have any other good strategies for assaulting a planetary fortress without taking massive damage while it gets infinitely repaired?