It depends on it's level. Deoxys is primarily found on Birth Island at Level 30. If you do not have the Cascade Badge (or any badge above that), Deoxys will not obey you. However, the place needed to find Deoxys isn't available until you have allbadges and a Nintendo event is activated.
You catch deoxys at birth island.
Go to birth island.
There are sadly no special events to catch Deoxys in Sapphire. You HAVE to trade a Deoxys caught in an event from FireRed, LeafGreen, or Emerald.
Anything tbh you can defeat the Pokemon league again or catch other rare Pokemon:)
by nintendo event but i dont know when the event is hope i helped [i love pokemon]
You must get a ticket from a Nintendo Event that takes you to Birth Island.
First you got to catch him in Pokemon leafgreen or fire red and trade. Or you can use a gameshark. it lets you catch all the Pokemon from bulbasaur to deoxys.
Where you catch Deoxys
You would need to use an Action Replay or transfer it from Pokemon Emerald, FireRed, or LeafGreen, for it is impossible to catch Deoxys in any location in Pokemon Diamond, Pearl, and Platinum.
You can't catch Deoxys in the wild or a special place. But if you got it in Pokemon FireRed, LeafGreen, Sapphire, Ruby, or Emerald you can migrate Deoxys in the Pal Park in the Kanto region in Fuchsia City.You cannot obtain Deoxys legitimately in Pokémon SoulSilver. You must take advantage of an Event in Pokémon Emerald, FireRed, or LeafGreen to go to Birth Island using an Aurora Ticket, and catch it there, then use the Pal Park to transfer it to SoulSilver. Alternatively, you can cheat.
kau sakai kau bodoh p.s don be a cheater
You can't catch Deoxys in Silver..