You're supposed to clean your dryer duct once a year or so to prevent a fire hazard.
The standard thing to clean a dryer duct is a brush with a long flexible handle. They make ones specifically sized for dryer ducts. Here is a typical one:
Disconnect your dryer and push the vent into the duct. Run it back and forth a few times. Keep a vacuum handy. You will make a mess.
If your duct is vented somewhere on the ground level, you could easily sweep from both ends. Since it sounds like yours vents to the roof, you will probably want to sweep from the inside only. However, you should probably check out the outside vent to make sure it isn't plugged, and opens/shuts properly.
If your duct has a lot of sharp bends or is very long (longer than the brush handle can reach), you will need to disconnect sections of the duct and clean them individually.
Once you have swept the ducts, you may also want to think about how you can re-configure the duct to make things easier for next time. Your dryer duct may not be up to code either (many homes are not).