I think sending an email would be just fine. A phone call can be intrusive, as I'm sure the HR representative is busy and might not have time to deal with a rejected candidate at a moment's notice. Plus, as you said, you would be more comfortable with an email, so just go with it.
As for what to say, simply thank them for the opportunity and taking the time to get to know you. Then, there are a couple of different ways to ask about what your weaknesses were. One way is to ask what weaknesses you had that made them go with another candidate instead. Also, you could ask what are some things you could improve on in the future. Lastly, ask if there were any specific reasons they decided not to hire you and how you could fix these issues. Try not to come off too whiny about not being hired, and definitely don't try to defend yourself - their decision is already made, so they won't change their mind!