It's too much of a PITA. H and I aren't sleeping on top of it, Rubes is too little to crawl in and make a sticky mess of it yet and I have no indoor pets..I figured it can't be that dirty.
I do air it out every other month or so on the line just so it smells fresh.
I think it depends on how many layers you have between it and you. We have a top sheet and a coverlet between us and the duvet cover, so I'd also go with seasonally.
I wash the duvet/shams or bedspread, whatever's on the bed, once every month or two. (Our dog sleeps on the bed occasionally. If she sneaks in there more often, it's more frequent, depending on how much she's shedding.)
I think it depends on how many layers you have between it and you. We have a top sheet and a coverlet between us and the duvet cover, so I'd also go with seasonally.
I try for monthly. Sometimes it happens like that, sometimes it's a little longer. More frequently when we have foster dogs sleep with us because they usually shed (our dog doesn't).