When I'm going for fat loss, cutting carbs drastically is key for me (the "eat healthy whole foods with high carbs and you'll lose fat" thing NEVER has worked for me), so it's a lot of protein and unsaturated fat with carbs usually kept at 200g or slightly less per day in such cases.
If I cut protein, I lose muscle and little fat and tend to get crappy results. When cutting, I keep protein higher (usually 180-220/day), fat at around 75-90g/day, carbs 200g or a less as noted above. I usually keep calories a little under maintenance, eating about 300-500 less than normal during that time. Unless, of course, I do more cardio work (usually low-intensity or short sprint-type cardio), then I keep calories closer to maintenance by only 100-300 under.
That's what has been good for me, but of course, everyone's different!
"A 'hardgainer' is merely someone who hasn't bothered to try enough different training methods to learn what is actually right for their own damned body." - anonymous