I have only hit 2 homeruns in the real game. One was bogus, it was an inside the park homerun where the ball morphed into the wall and the fielder couldn't grab it. I gladly ran around the bases -- it also lead to a rally where I came back and won.
My second was just yesterday with Justin Morneau. I had just had a 2 run double with Mauer and decided I would swing for the fences. Waited for a non-breaking ball pitch and did the power swing. It was great!
I have not played very many games at all yet, and I am not too good at hitting. I have heard that switching to classic batting makes hitting easier, but I have not tried that yet. I can get hits but when I get runners on the bases I start to get to ancy and swing at stupid pitches, so i don't score that many runs.
From what I have seen home runs are based on a few things. Each batter has pitches that they are more likely to hit hard. It's better to wait for a good pitch, most likely a fastball. If your hitter "see's" the pitch you can use the power swing to hit homeruns. This is based off of the hitter's eye. Power and contact stats are also taken into account. You can hit homeruns with a contact swing if your power is high enough. You also need a decent amount of the contact stat to hit homeruns. I think the count may have someting to do with it as well, being as this is a sim game. Timing your swing is the most important part though. Keep trying and you'll get used to it. I have hit most of my HR's in my player mode. In 41 games, my player is batting .427 with 3 HR and 27 RBI.