I was having the same trouble with breaking my broody girl this past week. And caging her was not working. So I filled up a large tub of cold water and soaked her in it for 5 full mins! She was good for about 5 hours and I caught her back in the nest box growling at me and guarding her fake egg. So she got another "broody soak". And this time it worked!! She has been broody free for one and a half days. She is back to eating again, which she had stopped doing and is now hanging out with the girls instead of dreaming of baby chicks!
Edit to add: During broodiness, the hens temperature rises and by soaking the broody, lowers her temp and her hormones tell her she is not warm enough to brood chicks.
I think I am going to have to give this a try. I have a hen who has fooled me now into thinking she was no longer broody as it felt as though her temp had gone down and she went out and started joining the others eating, etc. and then tonight I went to lock everyone up for the night and there she is hiding in the nest lower than low. I will let you know how it goes!!