I have both phones, and have found myself going back to the Moto X. For me, the inability of the HTC One to have any real handsfree capability is just a deal killer. I'm not a prolific texter, but I do use it during my daily commute and there simply isn't any ability to do this with the HTC. Otherwise, the HTC One is just stunning. The screen is amazing, the boomsound speakers are amazing, its wicked fast, and I really like what they did with Sense 6. It also charges faster than the Moto X even though the battery is larger. The HTC One is quite a bit larger than the Moto, but I didn't find that to be a deal breaker. The HTC one battery lasts longer than the X. The Moto has the smart unlock feature, which works great if you have bluetooth in your car (or a smartwatch like the Pebble). The HTC is physically much more high-end looking being metal and glass, but the Moto looks good too. Just not quite so premium.
Camera-wise, its a mixed bag. The Moto X images are much higher resolution, but the HTC is a bit better in low light. Neither camera is a standout. The "twist to launch camera" feature on the Moto is cool, but the HTC is nearly as good with its "raise the phone and push the volume key to launch" feature. I found the duo camera on the HTC to be a very cool effect, but one I rarely used.
Its kind of hard to compare, with the Moto X being $349 off contract and the HTC is $639. The HTC is clearly faster and more "modern" but its a LOT more expensive than the Moto, which is almost a year old at this point.
So I guess if price is no object, if you don't need handsfree, and don't mind a large phone, go for the HTC. If you need a more interactive phone, like a smaller device, or just prefer a more stock android feature, then the X wins.