I played a little a couple years ago.
My personal best was around 4.65.
You have to practice sprinting. Just like lifting, or catching passes, etc., the more you do it the better.
The first 2/3's of your sprint should be power. Your head will be down and you will be pushing your body, not pulling. Does that make sense? Your head will be down, and you are digging your legs into the ground, pushing you forward, instead of having your legs pull you forward.
Anyway, power for the first 2/3's of it or around 20-25 yards. The second part is when your body is straight and you are using the power you built to keep balance and to accelerate more. You'll burn in your legs for the last portion, that's too be expected because of all the lactic acid.
Remember to run THROUGH the 40-yards, as that will help your time go down. You shouldn't think of decelerating til around yard 45--5 yards after your run is complete.
Find a partner: Practice running while they give resistance. Use a towel, wrap it around your torso, and have a friend grab the towel and try to provide resistance.
Also, do more than just 40-yard sprints. Do 100-yard sprints, do gassers (sideline-to-sideline--that's one gasser). Mix it up much like you would with lifting weights. Speaking of which, lift weights. The whole body really works in sprinting--it should be strong as you are giving your body the ability to really power up in the first 20 yards of your sprint.
You don't see skinny sprinters.
But practice. 3-4 times a week run varying distances of sprints. It'll get easier and you'll get better.