Long distance relationships do not suck. They're very rewarding, actually, and apart from that you get to know the person a lot more when you're in a long distance relationship (I speak from experience, considering I'm in one, today's our 11th month hehe).
Well anyway, I figure the best way is to poor your heart out. just do it in a subtle fashion. Tell her how you feel, and make sure you don't sound confused when you tell her. Be really sweet, and tell her how much she means to you. But before you do, just know there could always be room for rejection, so be ready for a yes AND a no. either one or the other.
Online: Email her, FB (chat), Twitter (tweet or chat if ya can) etc.
Others: send her a letter, etc.
First, it's better to ask her to meet up. Then, you ask her. If there's no way in meeting up with her, which is possible, then ask her by any of those ways up there. ^^ If you wanted to know the way to ask/ how to ask (same thing) then say, :I was wondering. Would you like to go on a date/ would you like to go out with me" and "I have strong feelings for you (if you do) or I have these feelings for you." She might want to know what kind of feelings so you might need to tell her or she'll understand, because you'll ask her (if you do) on a date. You might want to talk about the feelings first though. Then, you can get to the asking. You're choice though!! :)
Hope this helps!! Good luck!! My hope are high for you.. :D