Entering the notes is fairly straightforward, even several voices are handled easily. But as soon as you want to add ornamentations, fingerings, dynamic markings, etc. it becomes a complete nightmare
For inputting Lilypond source code I use jEdit with the Lilypondtool plugin. Works rather nicely, cross platform (runs on anything that supports Java), even has a virtual piano keyboard with midi input if you want to enter notes that way.
Over time I've also managed to develop a set of Lilypond music functions and jEdit macros to ease the input of LH and FH fingering, barring and string number indications, etc. I'm quite willing to share these if anyone is interested.