I love the command line, and really wanted to love Ledger, but found that manual transaction entry for it (even using Emacs) was far inferior to Gnucash, which does far more powerful autocompletion on previous entries. This makes Ledger impractical for manually entering thousands of transactions, which I had to do.
I also tried some GUI interface to Ledger that was supposed to be better in this respect, but couldn't get it to work.
I agree that entering large numbers of manual transaction can be clunky, but for the occasional single transaction it can be pretty quick. For larger numbers of transactions, I've created a rules file that hledger uses to parse the downloaded CSV file from my bank to create a fairly detailed journal entry. (https://github.com/simonmichael/hledger/wiki/Convert%20CSV%2...). The real added benefit for me is using git not only for my journal file, but also for the CSV files. It gives me an immutable record of transactions from my bank. I had a revelatory experience reading adept's methods for tracking his financials. Version control for everything. https://github.com/adept/full-fledged-hledger
I also tried some GUI interface to Ledger that was supposed to be better in this respect, but couldn't get it to work.