hi Shaun, around 1 and half month back, i was in same condition as you, (except that i averaged much more by beginners method, so u are better than me

). averaged around 60-65 seconds by CFOP (on a lubix guhong, so cant blame the cube either)
Then one day, I saw threads about FMC, though i dint wanna get into FMC, the thing that interested me was how much moves do i average per solve. And how does this number fare with other CFOP users. (speed can be increased with practice, moves can be decreased only be reworking on things). So i just saw my cross, and a lot of times, it was greater than 8 moves. I thought why was it so, and realised that i was doing a mistake of first taking all white edges except one in the U face and then bringing them down one by one. So i picked up a notebook, tried to pre plan cross for every scramble i got( doing cross only solves), after executing it, i used to note down the number of moves i took for it. With some practice (40-50 such solves) , all my crosses were within 8 moves(most within 7), and my cross became almost optimal instantly since then.
I would suggest you too work on getting a almost optimal cross by doing something similar or whatever you feel is right.
About doing cross in 1-3 seconds, See the cross is about doing a random sequence of 8 or less moves. So, in order to do it fast, you most have a command over the cube and u can perform random sequences fast. One can perform sequences like OLL and PLL quite fast because they are not random, we already know how they work, what finger tricks are involved . But for random sequences, it will slowly come with practice. The more you practice (and the better you practice), you will more easily be able to perform random sequences fast. 1 month back my cross averaged 7. something . Without any specific work on the cross, it has come don to almost 4 seconds, and i m quite convinced it will fall down to around 2 seconds with more practice and friendliness with the cube.
About f2l, it will come with practice, i do intuitive f2l, just learned 1 algorithm (RUR'U')3, it does help. And most people will tell you learning algorithms for cases which u find difficult will help. But yes, learning algs is upto you. it wont be a difference of more than 2-3 seconds in any case. and more than learning an algorithm, its important to recognise the situation superfast and practice it enough and be able to apply it superfast.
What i would say from my experience about f2l is, without really doing much, just practice, f2l will keep becoming fast and fast. If you work specifically on its cases and algs, it may become faster even. One important thing, try to get a habit of minimising cube rotations and performing all f2l pair insertions with not more than 2 or 3 rotations. Later, it will be quite tough to change this habit . Right now, you are quite slow with performing f2l so u can adapt to it. In my case, i used to rotate a lot, and now i can solve f2l cases fast only when the pairs are on front of cube, so i do lots of rotations. And some day down the lane, i will have to work on controlling myself, getting worse times, and forcing a rotationless f2l. So i suggest you practice this from now on.
One last thing, never compare with people, someone may say i got 60 to 30 in 1 month and bla bla. All people are different. And more than the number of days, what matters is the number of hours you put in towards practice, and how dedicated it was. Any person on earth can solve a rubik's cube in less than 15 seconds with enough practice and skills.