Your suggestion is the same as your example. From your title though, I'll assume you meant to use "buzz" instead of "swim". I don't think yours are wrong in either case, but personally I would probably use "bouncing around in my head". This is more idiomatic, at least to my AE ears.
"The idea has been bouncing around in my head for quite some time."