The problem may not be your cooking method, but the sweet potato(es) themselves. Sweet potatoes need to "age" before being eaten, and what you buy in the market may be too fresh. If they are not aged, they can be either hard as a rock, even after an hour of baking, or they can be stringy and bitter.
How to tell if they're aged? The skin should be thin and almost flaky -- if you scrub one with a vegetable brush, there should be marks in the skin and even patches of skin coming off. Not foolproof, but the method I use.
I have cooked sweet potatoes almost every way imaginable (I do live in eastern NC, after all
), and believe the best method is to line a baking sheet (with low sides) with foil, spray the foil with butter flavor Pam, put the washed and pierced sweet potatoes on, and spray them with the Pam. Bake at 350 for an hour, and see if they're done. When they're done, juice should be coming out of the holes you pierced earlier -- poke with a fork to be sure -- they should be very, very soft. Let cool, then the skin will pull right off and you will be left with soft, sweet flesh inside.
I have roasted the cubes, and they're awesome with a little olive oil and balsamic vinegar. Have also "fried" sweet potatoes -- peel and slice into 1/4-1/2 inch slices. Lay in a Pam'd nonstick frying pan, cover, and cook over med-low heat for about 20 minutes. Flip over, and cook 20 minutes more. They'll be soft all the way through, but a little caramelized on the outside. Time consuming, but yummy!