Need help learning sprinting fundamentals

This year, I reached a plateau while training my 40 yard dash time for football because my mechanics are terrible, crap at its finest. As a defensive back and a wide receiver, a hand timed 4.8 is not a great time at all to be achieving, but it is what I have been getting for the past few months because my strength gains cannot overcome my technique and mechanics while sprinting. My problems include:
[ul]
[li]The swinging motion in my arms is slightly side to side while moving back and forth
[/li][li]My strides are fast, but pretty small (1 yard at the most)
[/li][li]I get high out of my stance earlier than 10 to 15 yards, sometimes 5
[/li][li]I lean backwards when I run after going 20 yards
[/li][/ul]
Is there anything I can combat this with other than practicing? I have tried many methods including videotapes. I cannot work with my school track coaches because I have baseball in the same season as spring track, which also means I need the winter to lift weights or else I can only get 10-15 weeks of lifting before the season. The last thing I want to do is hire a speed trainer since I don’t have a lot of money, but if it is necessary I would do it. Lastly, how much time could these improvements make on my time? Would it be reasonable to say I could run a 4.5 or 4.6 ht if I fix all these problems? Any help is greatly appreciated.