I have been writing in Java full time for my job for around 10 months and decided to get my SCJP.
Here's what I did to prepare: I read through the KB book one time and took the exams at the end of the chapters as I went. I was scoring around 20% on each test, with an occasional jump to around 50% on the easier chapters. I didn't read VERY consistently. This took me about 2 - 3 months.
I went back through the book page-by-page a second time and made around 150-200 notecards. I've been doing that for about a month.
As I took each practice exam, I made a list of the concepts I didn't know and after the practice exam, I would test them in NetBeans and make more notecards.
My scores were just over 50% for the two practice exams that came with the KB book. I crammed hard this past weekend with Whizlabs. My first two Whizlabs exams were both around 53%. Yesterday I took practice exams 3, 4, and the final exam and scored 73%, 67% and 74%.