Sleep, confusion, and attraction fade faster if the user is subject to damage (in the case of attraction, specifically damage from the object of its affection). Both confusion and attraction start at 50% chance of failure, with the chance of failure falling off by 5% per action that failure does not occur. They fade faster if the pokémon takes damage: an attack that deals 1-5% damage to the afflicted pokémon reduces the failure chance by 5%; 6-10% damage, 10%; >10%, 15%. It is therefore possible for attraction or confusion to go from severe (50%) to moderate (25%-35%) after a single action, if the afflicted gets blasted by a powerful attack right after getting confused. Ideally, these effects will last ~3-5 actions, with one or two failures occurring during that time, although there is the possibility that they will last a fair amount longer if the opponent plays conservatively.
Sleep should ideally last around three-five actions depending on the battle conditions as well. It works similarly to attraction and confusion; the rules for fading are identical. However, there are some caveats: sleep starts at 95% chance of sleeping for another action, it always fades by at least 5% per action, and it is guaranteed to last for at least one action. The check for sleep is rolled immediately before a pokémon's action in a round, so any damage it took earlier in the round is accounted for (this is true for any of the other fading status conditions as well; the check is rolled immediately before the action would take place, not at the beginning of the round or at the end (in anticipation of the next round). Also, even though a pokémon is guaranteed to sleep through one action, the sleep check is still made for that action (95% chance of staying asleep, usually). The check is rolled again for the next action (at worst a 90% chance of staying asleep), meaning that in the worst-case scenario there is a 15% chance that the pokémon will wake up after a single action.