I had HTC One. Pretty decent phone, worked like a charm, premium build quality and speakers were amazing!
After that I switched to Z1 (no reason, I just and a opportunity) and this phone is even better.
I love the slim design, the waterproof ability and the battery. Oh my, the battery is just amazing, no other phone could last this long after gaming sessions.
I did not have a chance to see G2 but I don't really like the buttons and I had N4 before, it was a very good phone, only problem was a battery again.
It is up to you, I would go for a Sony device.
iPhone 3G 16gb --> iPhone 4 32gb --> HTC Sensation --> HTC One V --> Nexus 4 --> HTC One -> Sony Xperia Z1