When you put your Mac to sleep, the system should do so in a matter of seconds, regardless of whether it's done manually or if you have it timed for sleep in the Energy Saver settings. In some instances, though, the system may either take a long time to go into sleep, or may not sleep at all when it is on the timer.
A number of services can keep the system from immediately going to sleep, most of which are waiting for network activity to finish before they will allow the system to do so. Here are some suggestions to try if you are experiencing computer sleep troubles.
People using shared resources on your computer can prevent the system from going to sleep, which include screen sharing, remote login, or copying files from your shared directories. You can test if one is causing problems by by disabling these services one-by-one in the "Sharing" system preferences. Additionally, check if network services you are using may be delaying sleep by disconnecting from them. If you have mounted network shares, unmount them. Also try disabling Time Machine if you back up to a network server (ie, Time Capsule), and disconnect VPN connections you may have active.
An overlooked wireless connection that sometimes can keep a computer active is the infrared sensor for the remote control that Apple supplies. If you do not use the remote, go to the "Security" preferences and in the "General" section, check the option to disable the infrared receiver. If you do use the receiver, try re-pairing with your remote.
Ethernet or Airport Activity
There are some network services that are useful for administration and security, but may keep the computer from going to sleep. In the "Energy Saver" system preferences, turn off the option to "wake for network access", and also try increasing the security of your firewall by blocking all network access and enabling "stealth" mode. To prevent unknown network interface activity from delaying sleep, try turning off your Airport card when you are about to sleep the system.
Bluetooth is another technology that supports a variety of sharing and connectivity services, so upon sleeping the system try disabling Bluetooth. Granted many people use wireless mice and keyboards these days which will make disabling Bluetooth impossible; however, you can try turning off "Discoverable" mode to prevent it from searching for new Bluetooth devices.
Low system resources?
If your hard drive is nearly full, your whole system may start to run exceptionally slow, including the time it takes to go to sleep and shut down. Try freeing some space on your hard drive, and also run a permissions fix and verification on the drive to ensure it is healthy. Lastly, try resetting the system's PRAM and SMC, which may contribute to odd behavior at sleep and bootup, and shutdown.