I organized one for my fraternity in undergrad. The really difficult parts are the permits and insurance. The rest is pretty straightforward. First, decide on a route to use. Then approach your city regarding that route making sure it is okay and get the permits for said route. We contacted our campus police and they were able to help us enforce the shut down roads by putting a few patrol cars are some of the dangerous corners.
We then approached a local running store to help with the logistics. They were able to provide the electronic timers, start and finish gates, etc. They also provided a few pretty solid prizes.
My biggest piece of advise is to start early. If you plan on recruiting local businesses to donate prizes or race day provisions (this is a good thing for a local grocer... they frequently will donate a lot of bananas, bottled water, gatorade, etc), you must start early. They will need time to contact anyone above them to permit the donation.
If you have any other questions, don't be afraid to ask!