Maybe you need to reduce the CollisionHeight at bit. Switches, much like power nodes or CTF flags, are NavigationPoints. When you rebuild paths in UnrealEd, the engine might decide to snap the collision cylinder to the floor. So, if the cylinder is too high, the switch appears to be floating.
Then again, this might not be a problem with the switch (I'm sure this issue would have popped up before already.), but with the static mesh you are trying to place the switch on. Static meshes may have simplified collision shapes for rigid body and/or non-zero extent collisions. Switches count as "non-zero extent" in this context, so the path building algorithm aligns them to the simplified collision shape of the static mesh. Players will also walk on that simple shape and appear to be floating, so you might want to fix the static mesh collision instead of trying to force the switch in place. You can force per-poly collision on static meshes by setting Collision->bCollideComplex=True on the static mesh actor.