When you talk about Beethoven violin sonatas, I'm not sure if you are discussing playing them well or actually sight reading them well. Sight reading will lag behind playing somewhere around 2 grade levels: so you need to be able to play at the level of the sonatas first. I really believe you are discussing 'reading' music, and labeling it as sight-reading in some of this post? You need to see this as two separate skills: sight-reading as the ability to play music for the first time, reasonably accurately, without stopping, and at the tempo marked.
Ways to progress at sight-reading: to do a lot, lot, lot of it every day. If it is marked allegro, you must start with easy pieces, set the metronome and play through at allegro--- no stopping, no matter what. Sight-read everything you can get your hands on-- multiple genres, composers, even hymns. The internet can be your friend for this: imslp, free music downloads, music 'previews prior to purchase', etc. Look for anthologies of used music.
Certainly the ability to recognize intervals and patterns is a huge help. You need to recognize a Cmaj inverted arpeggio without reading every note.
Bad habits? You need to be getting rid of those as you are reading/learning repertoire. Sight reading is not the time for that.
Ways to progress at reading music is a separate consideration.