Each point that needs a unique color will need its own series object. It's a little weird, but this works:
series: [{
data: [{
x: 23,
y: 22,
z: 200,
name:"point1"
}, {
x: 43,
y: 12,
z: 100,
name:"point2",
}],
color: "yellow"
},{
data: [{
x: 50,
y: 22,
z: 150,
name:"point3"
}, {
x: 43,
y: -30,
z: 100,
name:"point4",
}],
color: "blue"
}]
Check out this demo from the site: http://www.highcharts.com/demo/bubble-3d
And here is a js fiddle with your example: http://jsfiddle.net/Robodude/tqVF8/7/