I have no preference.
I am no PIC expert either, but I started out learning and my first books were with assembly. This proved quite taxing mathematically (I'm not good with numbers) but it was good fun, especially when you find it hard to believe one bit in the wrong register can make such a big difference to whether a piece of code works.
Anyway, I've always had a bit of interest in programming, and when I realised I could get away with using C, this of course was a more attractive option, with a lot of 'complexities' standardised.
Of course, this could be seen as 'cheating', but then again any program that uses routines or library's are too. My only excuse is I'm out there to get a job done, not always to find a different way of doing things.
I tried a bit of basic too, but not to any great length. I've also used flowcode, which provides imo very rapid prototyping but can be inflexible.
I got involved with pic's because I wanted to get some tasks done that I didn't want to entrust to mechanical systems, and I got a taster at college. I use the various languages to their strengths and will shamelessly admit that I will use whatever language will get me the results in the shortest time.
As shameless as that is, and I think I've said it before, even if you don't want to go in depth with assembly such as trying to handle numbers outside the typical 8 bit boundaries, it still pays to have a hand in as even with other languages out there, you will never escape having to set up registers and the like, and I assume this applies to other controllers too.
So yeah, I like assembly language but it's not my favourite. I think it's important to keep 'your hand in' so to speak even if you don't use it predominantly.