A 3 year old should have his diaper changed as often as every 2 to 3 hours or when full of pee.
If the 3 year old has a poopy diaper the poopy diaper should be changed as soon as you notice and as soon as possible to avoid diaper rash and urinary tract infection from the poop.
By 3 years old most kids hold in their pee for 30 minutes to an hour and then often release the pee into the diaper.
Unlike younger toddlers who constantly wet their diapers, it's normal for 3 year old boys in diapers to have dry diapers for 30 minutes to an hour or sometimes longer and then wet their diaper.
You should check your 3 year old boys diaper every few hours and you only need to change the 3 year old boys diaper when it's full of pee if using disposable diapers.
The disposable diapers absorb the pee and can hold quite a bit of pee without causing actual wetness on the 3 year old boys skin.
With cloth diapers the 3 year old may need changed more often to avoid diaper rash.
But with disposable diapers most 3 year old boys can go between 3 to 4 hours between wet diaper changes but poop diapers should be changed as soon as you notice.
It''s normal for a 3 year old boy to be in diaper and not be potty trained yet as some kids may take until near 4 years old to be ready to potty trained.
As long as you're changing your 3 year old boys diaper every 3 to 4 hours you're doing fine.