Ok here's the update:
I broke it off with her yesterday, 3.5hr phone call. Most of the time she spent crying/sobbing & I tried SO hard not to as well. Near the end I couldn't hold it any longer and I hid my face in a towel and let some tears come through.
I did this because from previous times of trying to break up with her/take some time away from each other, I would eventually give in and stay with her, agreeing that we continue trying. That's not what I wanted this time.
This time I forced myself to keep my foot on the floor and stand my ground.
We agreed that there would be no resentment towards each other.
All in all it was relatively peaceful. I still have respect for her and hopefully she feels the same towards me.
I'm not sure know how this will affect our friends & family (our families got close) but I guess time will tell.
My mom suggests to keep our distance (her & me + my family & hers) because of the awkwardness, not to mention the inevitable "So what happened between them?" question that would arise.
My dad says to stay friends.
I think the best option is to keep some distance between us, then slowly bring back a friendship (if that can happen).
Thanks to everyone & their suggestions/advice/insight/comments. After I got off the phone with her, I felt some doubts creeping up so I came back to this thread and all those doubts were put to rest.
Now, I'm just trying to keep myself as busy as possible, to do all the things I missed out on these past 3 years & to make myself a better person.
Thank you so much.