Yes, I've done it. It's pretty easy to do on your own. The only tricky part is understanding 'classes' and picking the correct ones.
Learn the difference between (TM) and (R) --The former is you claiming use of a trademark and the latter is having a formally registered trademark.
Anyone can claim use of a mark (TM), but getting a real registered trademark (R) requires jumping through all of the correct hoops (forms/fees), and someone at USPTO validating your claims.
There's often some confusing language about 'use' of your mark in commerce. If a mark is not used/maintained, it is abandoned. Similarly, you ought to be using the mark to get it registered.
Many companies make very questionable (nearly fraudulent) trademark claims with (TM) designations that would obviously NEVER be approved by the USPTO. I classic example is Intel claiming a trademark (TM) on the word "Core" when it has been in common use in the specific area of commerce (class) for a long time before Intel started asserting the bogus claim.
If you do some digging and studying, you'll find getting a registered trademark is really fairly simple.